C# 如何从C中的其他私有类调用私有类变量#
下面是我如何从私有类下面调用变量startX的代码 如果C#上有任何可能的方法,可以从其他私有类调用私有类变量 这可能是一个简单的问题,但我是一个初学者 你能帮我吗C# 如何从C中的其他私有类调用私有类变量#,c#,class,variables,call,private,C#,Class,Variables,Call,Private,下面是我如何从私有类下面调用变量startX的代码 如果C#上有任何可能的方法,可以从其他私有类调用私有类变量 这可能是一个简单的问题,但我是一个初学者 你能帮我吗 private void panel1_MouseDown(object sender, MouseEventArgs e) { moving = true; x = e.X; y = e.Y; panel1.Cursor = Cursors.Cros
private void panel1_MouseDown(object sender, MouseEventArgs e)
{
moving = true;
x = e.X;
y = e.Y;
panel1.Cursor = Cursors.Cross;
label1.Text = "" + e.X + "";
label2.Text = "" + e.Y + "";
int startX = e.X;
int startY = e.Y;
}
private void panel1_MouseUp(object sender, MouseEventArgs e)
{
moving = false;
x = -1;
y = -1;
panel1.Cursor = Cursors.Default;
int downy = e.X;
label3.Text = "" + downy + "";
string one = "1";
//how to call int startX on this class
if (label1.Text == label3.Text || label2.Text == label4.Text)
{
button1.Text = "The number is : " + one + "";
}
else
{ button1.Text = "The number can't calculat"; }
}
panel1_MouseDown不是一个类,它是一个私有方法,您不调用变量,而是调用方法。如果需要在panel1\u MouseUp方法中使用startX的值,可以给panel1\u MouseDown方法一个返回值,或者创建一个全局变量来存储该值。因为您的方法是由鼠标事件调用的,所以我建议使用全局变量
private int lastStartX = 0;
private void panel1_MouseDown(object sender, MouseEventArgs e)
{
moving = true;
x = e.X;
y = e.Y;
panel1.Cursor = Cursors.Cross;
label1.Text = "" + e.X + "";
label2.Text = "" + e.Y + "";
int startX = lastStartX = e.X;
int startY = e.Y;
}
private void panel1_MouseUp(object sender, MouseEventArgs e)
{
moving = false;
x = -1;
y = -1;
panel1.Cursor = Cursors.Default;
int downy = e.X;
label3.Text = "" + downy + "";
string one = "1";
//how to call int startX on this class
//do whatever you want with lastStartX
if (label1.Text == label3.Text || label2.Text == label4.Text)
{
button1.Text = "The number is : " + one + "";
}
else
{ button1.Text = "The number can't calculat"; }
}
答案很简单,你不能 有关本地函数的一些文档: 您将在类中而不是在函数中创建变量
public class Class
{
private int startX;
private int startY;
private void panel1_MouseDown(object sender, MouseEventArgs e)
{
this.startX = e.X;
this.startY = e.Y;
}
private void panel1_MouseUp(object sender, MouseEventArgs e)
{
// call this.startX or this.startY
}
}
嘿,我觉得你把函数和类混在一起了。它们是函数而不是类。对吗?谢谢,我会为我尝试它的新功能,我不知道c#i上的类函数和c#i上的类是一样的,谢谢你提供的信息,我会尝试的,很高兴它能工作。谢谢你帮助我。我完成了。这对我来说很难