我的winforms应用程序中有一些DomainUpDown
控件。我无法在启动时找到为它们设置默认值的选项。有没有办法做到这一点?
目前,我有一个这样的枚举类型:
public enum ComparisonMode {Settings, Readings};
我已将每个DomainUpDown控件的SelectedItemChanged
事件设置为以下内容:
private ComparisonMode ComparisonA; //enum to hold state of upDownA
private void upDownA_SelectedItemChanged(object sender, EventArgs e)
{
switch (upDownA.Text)
{
case "Settings":
ComparisonA = ComparisonMode.Settings;
break;
case "Readings":
ComparisonA = ComparisonMode.Readings;
break;
}
}
当我启动应用程序时,所有domainupdown控件都没有选择任何内容,因此用户必须将每个控件设置为Settings或Readings才能开始使用该应用程序。
如何为所有这些设置默认值(例如)(读数)?我正在考虑循环控件(因为它们位于TableLayoutPanel
内)。
foreach (TableLayoutPanel tlp in tableCriterias.Controls)
{
foreach (Control ctrl in tlp.Controls)
{
var dud = ctrl as DomainUpDown;
if (dud != null)
{
dud.DownButton(); dud.DownButton();
//Going down 2 times to select default value
}
}
}
我在我的表单的Load
事件中进行了上述循环,但由于我喜欢100个这些UpDown控件,因此它在开始时一切都非常慢。
答案 0 :(得分:2)
无需执行此操作,您可以像这样设置SelectedIndex:
DomainUpDown dd = new DomainUpDown();
dd.Items.Add("settings");
dd.Items.Add("Reading");
dd.SelectedIndex = 0; // this will make sure you get the first item selected