1
私は、一連のテキストを読み込んで特定の値を検索するアプリケーションを持っています。これらの値を選択すると、ダイアログボックスで新しい値を入力するよう求められます。プロンプトダイアログから値を返す
私が抱えている問題は、メソッドの外でこの値を呼び出すことができないということです。以下は
プロンプトを呼び出すコードです:ユーザーは次のようにこれは返された値を追加する場合
return prompt.ShowDialog() == DialogResult.OK ? textBox.Text : "";
:私は今、やりたいと思っています何
System.Windows.Forms.Control.Text.get returned "1234" string
は、この値を呼んでいます別の方法で私はstring.Replaceを行うことができますように。
何か助けていただければ幸いです。
** EDIT **
完全な方法は以下の通りです。
public static string ShowDialog(string text, string caption)
{
Form prompt = new Form()
{
Width = 500,
Height = 150,
FormBorderStyle = FormBorderStyle.FixedDialog,
Text = caption,
StartPosition = FormStartPosition.CenterScreen
};
Label textLabel = new Label() { Left = 50, Top = 20, Text = text };
TextBox textBox = new TextBox() { Left = 50, Top = 50, Width = 400 };
Button confirmation = new Button() { Text = "Add", Left = 350, Width = 100, Top = 70, DialogResult = DialogResult.OK };
confirmation.Click += (sender, e) => { prompt.Close(); };
prompt.Controls.Add(textBox);
prompt.Controls.Add(confirmation);
prompt.Controls.Add(textLabel);
prompt.AcceptButton = confirmation;
return prompt.ShowDialog() == DialogResult.OK ? textBox.Text : "";
'textBox'を' public'として定義すると、ダイアログが閉じられた後にアクセスできるようになります。 – i486
@ i486、私は私が従うとは思わない、この方法はパブリックな静的なvoidですが、どのように単一の要素を定義するのですか? – Tom
ダイアログは 'DialogResult' - ' OK'、 'Cancel'などしか返しません。結果が' OK'ならダイアログのコントロールを読み込み、呼び出したメソッドから値をチェックできます。また、ダイアログが閉じられる前にOKボタンをクリックしてこの処理を行い、値が間違っていれば閉じることもできます。 OKボタンのOnClickイベントをキャプチャします。 – i486