private void button2_Click(object sender, EventArgs e)
{
cl = new ChangeLink();
cl.StartPosition = FormStartPosition.CenterParent;
DialogResult dr = cl.ShowDialog(this);
if (dr == DialogResult.Ok)
{
if (cl.getText() == "")
{
MessageBox.Show("The TextBox Cannot Be Empty");
cl.ShowDialog(this);
return;
}
else
{
label4.Text = cl.getText();
cl.Close();
}
}
else if (dr == DialogResult.Cancel)
{
cl.Close();
}
cl は、テキストを取得する新しいフォームです。cl.getText() が空の場合は "" ユーザーにメッセージをスローし、ユーザーがメッセージボックスで [OK] をクリックすると、戻って新しいフォームダイアログを再度表示することを確認します。新しいフォームの [OK] ボタンを 1 回クリックすると、messaeBox メッセージが表示され、新しいフォームのダイアログ結果ボックスが再度表示されますが、[OK] をもう一度クリックしても、textBox がまだ空である場合、messageBox は再び表示されません。新しいフォームを閉じて、label4 テキストを空に設定するだけです。
ユーザーが [OK] をクリックして textBox が空になるたびに、ユーザーが [キャンセル] をクリックするか、テキスト ボックスに何かを入力してから [OK] をクリックするまで、新しいフォーム テキスト ボックス ダイアログが表示され続けます。