从“控制”中获取数据;类型来存储其他控件的分类(CheckBox/TextBox/NumericUpDown等)
本文关键字:分类 控件 CheckBox 其他 NumericUpDown TextBox 存储 控制 获取 数据 类型 | 更新日期: 2023-09-27 18:13:54
我有一个包含几个字符串和一个通用控件的类型。我的问题是我不知道如何访问存储在控件中的数据。
基本上我的程序通过一些"自定义类型"循环,这些类型有_control"Children",然后分配给New CheckBox或其他表单控件。
private Control _control { get; set; }
public void set_control(Control control) { this._control = control; }
其他地方的x.set_control(new CheckBox
{
Dock = DockStyle.Fill,
AutoSize = false,
Text = x.name(),
Checked = Convert.ToBoolean(x.data())
});
x.control().Click += delegate { refresh_data(x); };
伪代码
private void refresh_data(embedded_setting setting)
{
if (setting.control().GetType() == typeof(CheckBox))
{
setting.set_data(setting.control());
}
}
我需要set_data控制。检查。tostring。但是我不确定如何使用控件类型,如果它是一个复选框类型。
我希望它可以被转移到与文本框使用。文本和数字上下。
我不确定这是否是你要找的,但检查后:
control.getType() == typeof(CheckBox)
您可以将控件强制转换为复选框,如下所示:
((CheckBox)control).Checked
要检查控件是否是复选框,您可以使用is来验证它。
if(controlVariable is CheckBox)
{
var checkBox = controlVariable as Checkbox;
// then you can use checkBox variable to access it's properties.
}