選択したファイルを読み込んでTextBoxに表示するWinFormを作成しようとしています。私の問題は、他のイベントハンドラがオブジェクトにアクセスすることです。私は基本的に私のファイル名が選択をクリックした後にTextBoxに表示されたいが、私はファイルの内容が開いているボタンをクリックした後に別のテキストボックスに入るようにしたい。選択ボタンの中にオブジェクトを置くとファイル名が表示されますが、開いたボタンに入れようとするとそのコンテンツにもう一度アクセスすることはできません。あなたは既にbtnSelect_Clickハンドラ内のFileDialogを開設しておりますので、私はC#winforms異なるイベントハンドラ内の同じオブジェクトにアクセスする方法
public partial class xmlForm : Form
{
OpenFileDialog openFileDialog1 = new OpenFileDialog();
public xmlForm()
{
InitializeComponent();
}
public void btnSelect_Click(object sender, System.EventArgs e)
{
// Displays an OpenFileDialog so the user can select a Cursor.
// OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.Filter = "XML files|*.xml";
openFileDialog1.Title = "Select a XML File";
// Show the Dialog.
// If the user clicked OK in the dialog and
// a .xml file was selected, open it.
if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
displayBox.Text = openFileDialog1.FileName;
var onlyFileName = System.IO.Path.GetFileName(openFileDialog1.FileName);
displayBox.Text = onlyFileName;
/* Button btn = sender as Button;
if (btn != null)
{
if (btn == opnButton)
{
string s = System.IO.File.ReadAllText(openFileDialog1.FileName);
fileBox.Text = s;
}
}*/
/* if (opnButtonWasClicked)
{
string s = System.IO.File.ReadAllText(openFileDialog1.FileName);
fileBox.Text = s;
opnButtonWasClicked = false;
} */
}
/*string s = System.IO.File.ReadAllText(openFileDialog1.FileName);
fileBox.Text = s; */
}
public void opnButton_Click(object sender, EventArgs e)
{
string s = System.IO.File.ReadAllText(openFileDialog1.FileName);
fileBox.Text = s;
/*if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
Button btn = sender as Button;
if (btn != null)
{
if (btn == opnButton)
{
string s = System.IO.File.ReadAllText(openFileDialog1.FileName);
fileBox.Text = s;
}
else { }
}
}*/
}
}
はまた、あなたが 'System.IO.File.ReadAllText(openFileDialog1.FileName)を変更することができます;' 'System.IO.File.ReadAllText(displayBox.Text)に;' –