Tac*_*cit 5 .net c# class visual-studio-2010 winforms
我有一个带有一个按钮和两个标签的表单
我有一个名为myCounter的独立类
我希望myCounter类能够通过名为changeColor的方法访问表单中的标签.
如何在此课程中提供标签
表格
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public Color colTurn
{
get { return lblp1Turn.BackColor; }
set { lblp1Turn.BackColor = value; }
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
Run Code Online (Sandbox Code Playgroud)
班级
class myCounter
{
private readonly Form1 Board;
public myCounter(Form1 Board)
{
this.Board = Board;
}
public int turn = 0;
public void changeColor()
{
if (turn == 0)
{
turn = 1;
lbl
//change color code here
}
}
}
Run Code Online (Sandbox Code Playgroud)
所以看来你无论如何都要将整个表格传递到你的第二堂课,所以我会按照 LightStriker 的建议去做。为所有项目创建一个公共访问器,然后将其设置在其他类中。
public partial class Form1 : Form
{
private myCounter _counterClass;
public Form1()
{
InitializeComponent();
}
public Label MyLabel1
{
get {return mylabel1;}
}
public Label MyLabel2
{
get {return mylabel2;}
}
private void Form1_Load(object sender, EventArgs e)
{
_counterClass = new myCounter(this);
}
protected void ButtonClick(object sender, EventArgs e)
{
_counterClass.changeColor();
}
}
Run Code Online (Sandbox Code Playgroud)
然后在第二堂课中,您可以访问您的标签。
class myCounter
{
private readonly Form1 Board;
public myCounter(Form1 Board)
{
this.Board = Board;
}
public int turn = 0;
public void changeColor()
{
if (turn == 0)
{
turn = 1;
Board.MyLabel1.BackColor = Color.Red;
Board.MyLabel2.BackColor = Color.White;
}
else
{
turn = 0;
Board.MyLabel2.BackColor = Color.Yellow;
Board.MyLabel1.BackColor = Color.White;
}
}
}
Run Code Online (Sandbox Code Playgroud)
请记住,这是我在 wiki 标记编辑器中编写的代码,未经测试。但这应该对你有用。
| 归档时间: |
|
| 查看次数: |
6560 次 |
| 最近记录: |