標準値を使用して StringConverter を開発したいと考えています。これを PropertyGrid にアタッチすると、オートコンプリート機能を備えたコンボボックスのように動作します。以下の例では、comboBox が表示されますが、オートコンプリートはありません。ユーザーはそれを展開して、項目の 1 つを手動で選択する必要があります。コンボボックスが自動的に一致するオプションを選択するように、ユーザーがオプションの 1 つの先頭を入力できるようにする方法はありますか?
public class ConverterSample : System.ComponentModel.StringConverter
{
public override bool GetStandardValuesSupported(ITypeDescriptorContext context)
{
//true means show a combobox
return true;
}
public override bool GetStandardValuesExclusive(ITypeDescriptorContext context)
{
return false;
}
public override TypeConverter.StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
{
return new StandardValuesCollection(new List<string>(){"Stack", "overflow", "rules");
}
GetStandardValues によって返されるリストは動的でなければならないため、そこで列挙型を使用することはできません。上記の例をhttp://www.codeproject.com/KB/cpp/dropdownproperties.aspxから取得しました。