为DomainUpDown控件在表单启动时设置一个默认值

本文关键字:默认值 一个 设置 控件 DomainUpDown 表单 启动 | 更新日期: 2023-09-27 18:15:50

我有一些DomainUpDown控件在我的winforms应用程序。我找不到一个选项来设置它们在启动时的默认值。有办法做到这一点吗?

现在,我有一个像这样的enum类型:

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控件都没有选择,所以用户必须在开始使用应用程序之前将它们中的每个设置为设置或读数。

我如何为所有这些设置一个默认值,例如(读数)?我正在考虑循环控制(因为它们在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控件。

为DomainUpDown控件在表单启动时设置一个默认值

不需要这样做,您可以这样设置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