私はこのチェックリストボックス、listPlayers
を持っています。私はそれが要求されたときに名前を追加(または削除)したいと思います。これらの名前は、string
入力にあります。ここでCheckedListBox編集/追加
は、問題のコードです:
namespace TakoBot
{
static class Program
{
public static Form1 MainForm { get; private set; }
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
MainForm = new Form1();
Application.Run(new Form1());
}
public static void OnMessage(object sender, PlayerIOClient.Message m)
{
if (m.Type == "add")
{
NamesInt[m.GetString(1)] = m.GetInt(0);
NamesString[m.GetInt(0)] = m.GetString(1);
Program.MainForm.listPlayers.Add("PlayersName");
}
}
}
}
アクションForm1.listPlayers.Add("PlayersName");
を呼び出す際に、我々はエラーを取得:
"'MyProgram.Form1.listPlayers' is inaccessible due to its protection level"
..Okayを、私のエラー処理能力が最高ではありません。私が言ったように、すべてはpublic
です。
私が完全に間違った行動をしている場合は、躊躇しないでください。
この場合、実際のコードを掲載してください。 –
コードでは、Form1クラスの2つのインスタンスを作成していますが、1つしか表示されていないか、アクティブになっています。何がOnMessageを呼び出すのか、それはなぜ静的メソッドですか? Form1クラスに非静的メソッドとして配置する必要があります。あなたのForm1クラスから、あなたは直接listPlayersにアクセスできるはずです。 –