0

私のフォームには、ほぼ 30 ~ 35 のコントロールがあり、未婚の場合は配偶者の名前が無効になり、ユーザーが結婚していることを選択した場合はコントロールが有効になるように、有効になっているものと無効になっているものがあります。

最初は送信ボタンが無効になっていますが、有効なフィールドがすべて入力されるとすぐに、送信ボタンが自動的に有効になるようにします。

この目的のためにこのコードを作成しました。

if ((nametxt.Text != null) && (f_nametxt.Text != null) &&
    (m_nametxt.Text != null) && (gotra_txt.Text != null) &&
    (panthcb.Text != null) && (fhntext.Text != null) &&
    (edulvlcb.Text != null) && (bloodcb.Text != null) &&
    (MarritalStatus != null) && (s_nametxt.Text != null) &&
    (s_edulvlcb.Text != null) && (s_bgcb.Text != null) &&
    (ressi_addresstxt.Text != null) && (ressi_phnotxt.Text != null) &&
    (mobi_notxt.Text != null) && (office_addresstxt.Text != null) &&
    (occup_typetxt.Text != null) && (occup_naturecb.Text != null) &&
    (office_phno1txt.Text != null) && (office_mobnotxt.Text != null))
{
   submit_addbtn.Enabled = true;
}

これが正しいかどうか、どこで (フォームのどのイベントで) これを行うべきかはわかりません。

教えて助けてください。

これは、テキストボックスのキーダウンイベントを実行したコードであり、このイベントはトリガーされていません

 private void mobi_notxt_KeyDown(object sender, KeyEventArgs e)
    {
        foreach (Control c in this.Controls)
        {
            TextBox txt = c as TextBox;
            if (txt != null)
            {
                if (!(txt.Enabled && txt.Text != ""))
                {
                    allFilled = false;
                    break;
                }
            }
        }

        if (allFilled)
        {
            submit_addbtn.Enabled = true;
        }
        else
        {
            submit_addbtn.Enabled = false;
        }
    }
4

1 に答える 1

1

You can loop through all your TextBox controls and check if they are enabled. If they are you check the Text property.

bool allFilled = true;

foreach (Control c in this.Controls)
{
    TextBox txt = c as TextBox;
    if (txt != null)
    {
        if (txt.Enabled && txt.Text == "")
        {
            allFilled = false;
            break;
        }
    }
}

if (allFilled) 
{
    button1.Enabled = true;
} else
{
    button1.Enabled = false;
}

As a result your allFilled boolean will be true if every enabled field contains something and false in the other case.

You can assign it on any event you like. For example on a key down event which you assign to all your Text boxes

于 2013-04-30T11:06:58.317 に答える