当前位置:首页 > Windows程序 > 正文

WinForm容器内控件批量效验是否允许为空?设置是否只读?设置是否可用等方法

2021-03-27 Windows程序

/// 判断一容器控件内某控件的值是否可以为空(通过控件的AccessibleName属性设置为"NotNull")

/// <remarks>

///     说明:

///         此方法显示提示信息,对于相应取值不能为空的控件,应设置其“Tag”属性,以友好提示信息。

/// </remarks>

/// </summary>

/// <param name="parContainer">容器控件</param>

public static bool ControlValueIsEmpty(Control parContainer)

{

    bool returnValue = true;

    string hintInfo = string.Empty;

    for (int index = 0; index < parContainer.Controls.Count; index++)

    {

        //如果是容器类控件,,递归调用自己

 

        if (parContainer.Controls[index].HasChildren && !parContainer.Controls[index].GetType().Name.ToLower().StartsWith("uc"))

        {

            ControlValueIsEmpty(parContainer.Controls[index]);

        }

        else

        {

            if (string.IsNullOrEmpty(parContainer.Controls[index].AccessibleName))

            {

                continue;

            }

 

            if (!parContainer.Controls[index].AccessibleName.ToLower().Contains("notnull")

                && !parContainer.Controls[index].GetType().Name.ToLower().Contains("mask"))

            {

                continue;

            }

 

            switch (parContainer.Controls[index].GetType().Name)

            {

                case "Label"://排除Label

                    break;

                case "ComboBox":

                case "ComboBoxEx":

                case "UcComboBoxEx":

                    if (parContainer.Controls[index] is ComboBox)

                    {

                        if (((ComboBox)(parContainer.Controls[index])).Text.Trim() == string.Empty)

                        {

                            hintInfo += GetControlName((ComboBox)parContainer.Controls[index]) + "\n";

                            //ShowInfo((ComboBox)parContainer.Controls[index], " 不能为空!");

                            //((ComboBox)(parContainer.Controls[index])).Focus();

                            returnValue = false;

                        }

                    }

                    else

                    {

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/68632.html