「ファイルを保存」ブラウザを実行しようとしています。ユーザーが選択したファイル名の入力をテキストボックスの代わりにラベルに表示したい。私は私の 'オープンファイル'のブラウザのために同様のものをやって、それはうまくいった。私がどこに間違って行ったか教えてください、ありがとう!ラベルにFileNameを表示する方法
private void button5_Click(object sender, EventArgs e)
{
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Title = "Save File";
saveFileDialog1.Filter = "Text files (*.txt)|*.txt| CONF(*.conf)|*.conf|All files (*.*)|*.*";
saveFileDialog1.FilterIndex = 1;
saveFileDialog1.ShowDialog();
if (saveFileDialog1.FileName != "")
{
System.IO.FileStream fs = (System.IO.FileStream)saveFileDialog1.OpenFile();
switch (saveFileDialog1.FilterIndex)
{
case 1:
saveFileDialog1.FileName = saveFileDialog1.FileName + ".txt";
break;
case 2:
saveFileDialog1.FileName = saveFileDialog1.FileName + ".conf";
break;
}
fs.Close();
}
}
private void label2_Click(object sender, EventArgs e)
{
this.label2.Text = saveFileDialog1.FileName;
}
ラベルの値をクリックして設定しようとしていますか? – SeM
'button5_Click'に' this.label2.Text = saveFileDialog1.FileName; 'と書いてはいけませんか? –
'FileName'は拡張子を持つ完全なパスを返します。*別の*拡張子を目的に追加しますか?例えば。もし '1.txt'が' 1.txt.txt'ファイルを使用したいならば、右でしょうか?問題については、別のメソッドでローカル変数にアクセスすることはできません。これを 'private'フィールドにしてください。 @ChetanRanpariyaに同意しますが、ボタンクリックイベントハンドラでラベルテキストを設定する可能性が高くなります。 – Sinatr