我在表单项目中添加了一个 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();
}
}
}
我可以将所有验证放在一个方法中,但我只是想展示如何使用一个类调用多个方法。
有没有更好的方法来访问类中的表单元素?
谢谢