How to Determine the Item Selected from a Property Grid Drop-down List

In Visual Studio, when you select an item on a form you’re building, the Property Grid appears and lets you set various properties (e.g. background color, width, height, text color, etc.) from a two-column table. The left column contains the property name, and the right column contains either a text field where you enter a value, or a drop-down list from which you can select a value. You can use the Property Grid control in your own applications, but it’s not quite so clear how you can determine which value a user selects from a drop-down list that contains multiple values. This example provides the code to know which item a user selects from the drop-down list.

First, inherit the class from UITypeEditor:

public class SelEditor :    System.Drawing.Design.UITypeEditor{           // this is a container for strings, which can be    // picked-out   ListBox Box1 = new ListBox();   IWindowsFormsEditorService edSvc;   // this is a string array for drop-down list   public static string[] strList;   public SelEditor()   {      Box1.BorderStyle=BorderStyle.None;      // add event handler for drop-down box when item       // will be selected      Box1.Click+=new EventHandler(Box1_Click);   }   public override       System.Drawing.Design.UITypeEditorEditStyle.        GetEditStyle (System.ComponentModel.         ITypeDescriptorContext context)      {         return UITypeEditorEditStyle.DropDown;      }   // Displays the UI for value selection.   public override object EditValue      (System.ComponentModel.ITypeDescriptorContext       context, System.IServiceProvider provider,       object value)   {      Box1.Items.Clear();      Box1.Items.AddRange(strList);      Box1.Height=Box1.PreferredHeight;      // Uses the IWindowsFormsEditorService to       // display a drop-down UI in the Properties       // window.      edSvc =                        (IWindowsFormsEditorService)provider.         GetService(typeof         (IWindowsFormsEditorService));      if( edSvc != null )      {         edSvc.DropDownControl( Box1 );         return Box1.SelectedItem;      }      return value;   }   private void Box1_Click(object sender, EventArgs e)   {      edSvc.CloseDropDown();   }}

Second, describe a property in the class, to be displayed in the property grid:

public class Class1{   // These are string arrays for different drop-down    // lists.   string[] Str1= {"AAA","BBB","CCC","DDDD"};   string[] Str2= {"WW","EEE"};   string s1,s2;   public Class1()   {      //      // TODO: Add constructor logic here      //   }   [EditorAttribute(typeof(SelEditor),    typeof(System.Drawing.Design.UITypeEditor))]   public string STR_1   {      get{SelEditor.strList=Str1; return s1;}      set{s1=value;}   }         [EditorAttribute(typeof(SelEditor),    typeof(System.Drawing.Design.UITypeEditor))]   public string STR_2   {      get{SelEditor.strList=Str2; return s2;}      set{s2=value;}   }}
Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

The Latest

6 Tips for Setting Up a Decentralized Exchange

6 Tips for Setting Up a Decentralized Exchange

There’s no doubt that cryptocurrency is a complex and divisive topic in the modern financial landscape. There are those who are convinced that it’s nothing more than a bubble, but both who are well-informed are able to see the ways in which cryptocurrency can help them both build their fortune

user experience with someone on their phone

5 Ways to Improve Your Customers’ User Experience

They say you can’t judge a book by its cover, but just because they say that doesn’t mean it’s true. Consider how often you choose one sort of product over another just because it appeals to you. Then think about how often you’ve stopped using something because, simply put, it

How to Manage Your Finances after Buying a Home

How to Manage Your Finances after Buying a Home

Buying a home is a milestone in the journey of life – it’s one way to invest your money and create lasting memories. Now you know everything about a home purchase, home mortgage, and what is a conventional 97 loan but do you know what’s next after you sign the

Windows Logging is one of the vital aspects of any Windows system administration. However, it is mostly overlooked until the system develops a problem. This is because logs contain important information needed to troubleshoot and resolve system issues.

The Fundamentals of Windows Logging

Windows Logging is one of the vital aspects of any Windows system administration. However, it is mostly overlooked until the system develops a problem. This is because logs contain important information needed to troubleshoot and resolve system issues. Without it, tech experts might find it difficult to track a computer’s

Interstitial Ads: Best Practices for Successful Campaigns

Interstitial Ads: Best Practices for Successful Campaigns

Interstitial Ads: Best Practices for Successful Campaigns Interstitial ads are full-screen advertisements that appear to grasp the attention of on-site prospects, creating opportunities for brands seeking effective ways to communicate their proposition of value. With such an attention-grabbing format and high-impact visuals, it’s no wonder why interstitial advertising is proving