コードの一部を再利用したいので、そのコードを含むメソッドを使用してクラスを作成し、必要な場所でメソッドを呼び出すことにしました。
私の問題が何であるかの簡単な例を作りました:
Form1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public void Form1_Load(object sender, EventArgs e)
{
LoadText.getText();
}
}
}
LoadText.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WindowsFormsApplication1
{
public class LoadText : Form1
{
public static void getText()
{
WindowsFormsApplication1.Form1.label1.Text = "New label1 text";
}
}
}
ご覧のとおり、ラベル付きのフォームが1つあり、他のメソッド(LoadTextのgetText)を使用してラベルのテキストを変更したいと思います。
これが私のエラーメッセージです:
非静的フィールド、メソッド、またはプロパティ'WindowsFormsApplication1.Form1.label1'**にはオブジェクト参照が必要です
設計中、 label1をプライベートからパブリックに変更しました。
この問題を解決するにはどうすればよいですか?