c# - 如何更改 UITypeEditor 按钮上的“...”文本?
问题描述
我有一个包含许多属性的 PropertyGrid,如下所示:
我想让用户调整这些,但除此之外,我想给他们一个显示“猜测”的按钮,它将尝试为属性选择“最佳”值。我发现这UITypeEditor
几乎可以满足我的需求。
我有以下代码
public class GuessMyValueTypeEditor : UITypeEditor
{
public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context)
{
return UITypeEditorEditStyle.Modal;
}
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
{
return ((MyClass)context.Instance).GuessMyValue();
}
}
[System.ComponentModel.Category("Adjustable")]
[EditorAttribute(typeof(GuessMyValueTypeEditor), typeof(UITypeEditor))]
public int MyValue
{
get;
set;
}
当用户试图改变MyValue
时,他会得到一个按钮,上面写着...。按下时,它会调用我的代码GuessMyValue
,并将属性设置为新值。
这一切都很好,但我发现“...”提示非常不直观。用户在按下显示“...”的按钮时期望一个对话框,并且我的代码在没有任何用户交互的情况下重置属性,因此此功能看起来像一个错误。
如何将按钮上的提示更改为类似的内容Guess?
如果不可能,如何自定义 aUITypeEditor
以显示我选择的按钮,而不是其标准的“编辑”按钮?
解决方案
推荐阅读
- git - Github:如何跨同一存储库的多个分支工作
- python - 合并除两个特定列之外的所有列元素
- numpy - 在 x 和 y 值上使用不同大小的数组喂养 pyplot
- sql-server - 如何在 asp.net 核心中工作并将新表添加到数据库第一个模型?
- javascript - 访问 Promise.then() 中的拖放对象?
- python - 每次代码运行时如何保存数据并附加到它
- ios - 将数据从 UIViewController 传递到 UITabBarController 始终为零
- flutter - 是否可以在飞镖中动态设置方法的返回类型
- python - 在 Android Studio 中使用 Chaquopy 将值插入到 python 文件中
- vba - 从抓取的表格中提取单元格值的最有效方法