all groups > dotnet windows forms designtime > july 2004 >
You're in the

dotnet windows forms designtime

group:

Urgent Problem in adding Events tab to propertygrid


Urgent Problem in adding Events tab to propertygrid gurjinder NO[at]SPAM beesys.com
7/29/2004 12:21:45 AM
dotnet windows forms designtime:
Hi,

I am making a form designer. It is same like VS.net IDE.
I am facing difficulty in adding Eventstab to propertygrid control.
In some forums it is mentioned that just assign some Site to sIte
property of propertygrid and then just do
grid.propertytabs.addtabtype(typeof(eventstab),PropertyTabScope.Component));

but this is not working .........
can any body help.....


rgds
Re: Urgent Problem in adding Events tab to propertygrid Paul
8/3/2004 2:09:33 PM
Hi, Gurjinder.

When I develop my design-time form, I use following code:

// There is a class to show EventTab in PropertyGrid
internal class MyPropertyGrid : System.Windows.Forms.PropertyGrid
{
private System.ComponentModel.Container components =3D null;
public MyPropertyGrid()
{
InitializeComponent();
}
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components !=3D null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}

#region Component Designer generated code
private void InitializeComponent()
{
components =3D new System.ComponentModel.Container();
}
#endregion

public void ShowEvents(bool show)=20
{
ShowEventsButton(show);
}
public bool DrawFlat=20
{=20
get { return DrawFlatToolbar; }
set { DrawFlatToolbar =3D value; }
}
}

and add next code to your code
....
private MyPropertyGrid propertyGrid;
....
// Initialization PropertyGrid
this.propertyGrid =3D new MyPropertyGrid();
....
this.propertyGrid.SelectedObjectsChanged +=3D new =
EventHandler(OnPropertyGridSelectedObjectChanged);
this.propertyGrid.SelectedGridItemChanged +=3D new =
SelectedGridItemChangedEventHandler(OnSelectedGridItemChanged);
....
protected void OnPropertyGridSelectedObjectChanged(object sender, =
EventArgs e)=20
{
UpdatePropertyGridSite();
this.propertyGrid.ShowEvents(true);
}

private PropertyDescriptor lastProperty;
private object lastValue;
private void OnSelectedGridItemChanged(object sender, =
SelectedGridItemChangedEventArgs e)
{
GridItem gridItem =3D e.NewSelection;
if (gridItem !=3D null && (lastProperty =3D =
gridItem.PropertyDescriptor) !=3D null)=20
{
Object selectedObj =3D this.propertyGrid.SelectedObject;
if (selectedObj !=3D null)
{
try=20
{
lastValue =3D lastProperty.GetValue(selectedObj);
lastProperty.AddValueChanged(selectedObj, new =
EventHandler(OnPropertyChanged));
}
catch {}
}
}
}
....
protected void UpdatePropertyGridSite()=20
{
if(propertyGrid !=3D null)
{
propertyGrid.Site =3D null;
IServiceProvider provider =3D GetPropertyGridServiceProvider();
if(provider !=3D null)=20
{
propertyGrid.Site =3D new MySite(provider, propertyGrid as =
IComponent);
=
propertyGrid.PropertyTabs.AddTabType(typeof(System.Windows.Forms.Design.E=
ventsTab));
}
}
}
protected IServiceProvider GetPropertyGridServiceProvider()=20
{
object selObject =3D null;
if (propertyGrid.SelectedObjects !=3D null && =
propertyGrid.SelectedObjects.Length > 0)=20
selObject =3D propertyGrid.SelectedObjects[0];
else
selObject =3D propertyGrid.SelectedObject;

if (selObject is Component)=20
return (selObject as Component).Site;

return null;
}

I hope, I help you.

RE: Urgent Problem in adding Events tab to propertygrid palaniselvam
4/2/2007 3:17:05 PM
Hi Paul,

I have used your code for my custom control to show-up Events Tab section. But it is not showing the events tab at all. I also referred the following link ..I am not able to find out solution. My requirement is i have custom control conains a property . This property contains collection of Object. Class for this object contains an event. This particular event is not showing up in design time.

I also referred the following link ; but for me it is not working:
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=438792&SiteID=1

From http://www.developmentnow.com/g/32_2004_7_0_0_123537/Urgent-Problem-in-adding-Events-tab-to-propertygrid.htm

Posted via DevelopmentNow.com Groups
AddThis Social Bookmark Button