これについて話しているスレッドがたくさんあることを知っていて、それらすべてを見たと信じていますが、私は少し遅く、これを行う方法を理解できないと思うので、ここにあります!私は1つのフォームを持っています
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button4_Click(object sender, EventArgs e)
{
adi mYadi= new adi();
adi.paso();
}
private void Form1_Load(object sender, EventArgs e)
{
}
public void l8u(string l )
{
label8.Text = l;
}
}
メソッドはのl8u
テキストを変更することになっているので、静的ではない(パブリックである)label8
ため静的にすることはできません。私はこの他のクラスを持っていますlabel8
public class adi :instrucion
{
private int paso;
private int registroD;
private int registroO;
private int valor;
private int vsin;
public adi()
{
paso = 1;
}
public void setRD(int i){
registroD = i;
}
public void setR0(int i)
{
registroO = i;
}
public void setV(int i)
{
valor = i;
}
public int getRD()
{
return registroD ;
}
public int getR0()
{
return registroO;
}
public int getVf()
{
return vsin;
}
public void paso(){
//in this method I need change the value of label8
}
}
メソッドpasoは、の値を変更する方法ですがlabel8
、私にはできません。私は多くの異なる方法を試しました。たとえば、次のようなことをします。
public void paso()
{
Form1.l8u();
}
しかし、それForm1
はクラスの名前であり、l8uは静的メソッドではなく、静的メソッドでもないため、それは不可能です。またlabel8
、パブリック静的として設定しようとしましたが、Visual Studioはそれを好みませんでした。また、フォームVSで新しいコントロールを使用するたびに、パブリック静的を変更します。ただ公開します。
あなたが私を助けてくれることを願っています!