0

我在表单项目中添加了一个 CSharp 类。现在我想从 Class 访问表单控件。

我将这段代码与隐式变量一起使用,如下所示:

var form = frmClasses.ActiveForm as frmClasses;

使用此代码,我将表单修饰符设置为公共,将代码放置为方法/函数,并且我能够访问类中的表单控件。

问题是每次我需要调用表单控件时,我都必须使用 var 和上面的整行代码。有没有更简单的方法减少冗余?示例:类中的每个方法/函数都需要调用表单控件,因此使用 Var 引用表单控件。

看看下面的代码,你会注意到我使用 Var 来调用每个表单控件。

代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;

namespace Classes
{
    class ClsProperties
    {   
        //VALIDATE TEXTBOX
        public static void validateTextBox()
        {
            var form = frmClasses.ActiveForm as frmClasses;
            if (form.txtMyTextBox.Text.Trim().Length == 0)
            {
                form.txtMyTextBox.BackColor = Color.Aquamarine;
            }

        }

        //VALIDATE RADIO BUTTON
        public static void validateRadio()
        {   
            var form = frmClasses.ActiveForm as frmClasses;
            if (form.radBtnColor.Checked == false)
            {
                form.lblShowError.ForeColor = Color.Aquamarine;
            }

        }
    }
}

表格代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Classes
{
    public partial class frmClasses : Form
    {
        public frmClasses()
        {
            InitializeComponent();
        }

        private void btnSubmit_Click(object sender, EventArgs e)
        {
            ClsProperties.validateRadio();
            ClsProperties.validateTextBox();
        }
    }
}

我可以将所有验证放在一个方法中,但我只是想展示如何使用一个类调用多个方法。

有没有更好的方法来访问类中的表单元素?

谢谢

4

0 回答 0