调用/访问窗口的最有效方式是在类中形成控件

时间:2012-11-16 02:12:08

标签: c#

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

访问表单控件

我正在使用这段代码和隐式var,如下所示:

var form = frmClasses.ActiveForm as frmClasses;

使用此代码,我将表单Modifiers设置为public,将代码放置为方法/函数,我可以访问类中的表单控件。

问题是每次我需要调用表单控件时我必须使用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();
        }
    }
}

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

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

的Merci

0 个答案:

没有答案