面板C#中的文本框是否存在检查问题-Windows Form应用程序

对于我一直在开发的游戏,我正在尝试对面板中的所有文本框进行状态检查。


在继续之前,这是我的代码:


private void btnCheck_Click(object sender, EventArgs e) 

    {


        foreach (Panel pnl in Controls.OfType<Panel>())

        {

            foreach (TextBox tb in pnl.Controls.OfType<TextBox>())

            {

                if (string.IsNullOrEmpty(tb.Text.Trim()))

                {

                    MessageBox.Show("Please give an answer for all questions!");

                    okFlag = false;

                    return;

                }

                else

                {

                    okFlag = true;

                }

            }

        }

        if (okFlag == true)

        {

         //Check answers below

我遇到的问题是,即使我在所有文本框中都有值,MessageBox仍会显示“请为所有问题给出答案。


okFlag是一个布尔值,我在代码顶部将其初始化为true。


我还要注意,我有多个带有文本框的面板,但是显示一个面板时,所有其他面板都被隐藏了。


总之,我的问题是我的文本框中的状态检查不起作用,因为即使我确实在其中包含值,似乎也认为文本框为空或为空。


守着星空守着你
浏览 135回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP