メインフォームでリストボックスを選択方法として使用するc#のプログラムに取り組んでいます。リストボックス内の項目を編集できる機能があります。
別の専用フォームからアイテムを編集したかったので、フォームの新しいインスタンスを作成しましたが、元のフォームの関数 (公開したもの) にアクセスしようとすると、次のエラーが発生します: エラー 2 オブジェクト参照が必要です非静的フィールド、メソッド、またはプロパティ
私はインターネット上でかなり見回しましたが、関数で静的プロパティを使用することについて話している人しかいません。ただし、これを行うと、関数内の変数などで上記のエラーがさらにポップアップ表示されます
Form1の関数は次のとおりです(これを参照しようとしています)
public void ReadConfig(string configFile)
{
fileList.Clear();
listBoxName.Items.Clear();
FileStream file = null;
if (!File.Exists(file))
{
MessageBox.Show(file + " was not found: Creating blank file");
using (file = File.Create(file)) ;
}
else
{
string line;
int lineNumber = 1;
// I cut out some long code here where the program reads from a file and saves it to an object
}
}
エラーが発生した場所のコード スニペットを次に示します (テキスト ファイルに保存するコードをいくつか切り取りましたが、懸念される主な部分は Form1.ReadFile(Form1.file)
private void buttonSave_Click(object sender, EventArgs e)
{
string[] temp = File.ReadAllLines(Form1.file);
string[] newFile;
if (itemNew == true)
{
newFile = new string[temp.Length + 1];
}
else
{
newFile = new string[temp.Length];
}
for (int i = 0; i < temp.Length; i++)
{
newFile[i] = temp[i];
}
File.WriteAllLines(Form1.file, newFile);
ConfigForm.ReadFile(Form1.file);
this.Close();
}
これで十分なコードになることを願っています。私のプログラムはかなり長いので、できるだけ短く直接的にしようとしました。我慢してくれてありがとう =]
私はプログラミングに関してかなりの初心者なので、親切な魂がたまたま助けてくれたら、できるだけシンプルに保つことができますか?
どうもありがとう =]