public override object EditValue( System.ComponentModel.ITypeDescriptorContext context, IServiceProvider provider, object value) { if (provider != null) { IWindowsFormsEditorService edSvc = (IWindowsFormsEditorService)provider.GetService( typeof(IWindowsFormsEditorService)); if (edSvc == null) { return(value); } SelectResourceDialog srd = new SelectResourceDialog(this.mMgr); if (edSvc.ShowDialog(srd) != System.Windows.Forms.DialogResult.OK) { return(value); } ResourceMgr.ResEntry res = srd.SelectedResource; if (res == null) { return(value); } Type t = value.GetType(); RK key = new RK(this.mTID, res.GID, res.IID); if (t.Equals(typeof(RK))) { return(key); } if (t.IsInterface && typeof(IResourceKey).IsAssignableFrom(t)) { return(key); } if (t.Equals(typeof(string))) { return(key.ToString()); } } return(value); }
private void resCellValueNeeded(object sender, DataGridViewCellValueEventArgs e) { if (this.mSelectedPackage != null && e.RowIndex < this.mResourceCount) { ResourceMgr.ResEntry res = this.mResources[e.RowIndex]; switch (e.ColumnIndex) { case 0: e.Value = "0x" + res.IID.ToString("X16"); break; case 1: e.Value = "0x" + res.GID.ToString("X8"); break; case 2: e.Value = res.Name; break; } } }