C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 155 を表示中)
■90183 / )  Re[1]: メッセージボックスでの条件判断2
□投稿者/ 魔界の仮面弁士 (2055回)-(2019/02/14(Thu) 21:45:58)
No90181 (あんみつ さん) に返信
MessageBox.Show 相当のカスタマイズということなら、
Form2 に Label×1、Button×3 を配置しておいて
後述のコードを書いておくと、

 Dim ret = Form2.ShowDialog("どれを選びますか?", "○○○")
 If ret = DialogResult.Yes Then

のようにして、A/B/C の選択画面を実装できます。

実際の戻り値は DialogResult ではなく、独自の列挙型を返すようにするか、
0 / 1 / 2 といった番号で返した方が分かりやすいかも知れませんが。


----------

Public Class Form2
 Public Overloads Shared Function ShowDialog(msg As String, title As String) As DialogResult
  Using dlg As New Form2()
   dlg.Text = title
   dlg.Label1.Text = msg
   Return dlg.ShowDialog()
  End Using
 End Function

 Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  Me.ActiveControl = Button2

  '下記はデザイン時に指定しておいてもよい
  Button1.Text = "A"
  Button1.DialogResult = DialogResult.Yes
  Button2.Text = "B"
  Button2.DialogResult = DialogResult.No
  Button3.Text = "C"
  Button3.DialogResult = DialogResult.Cancel
  Me.CancelButton = Button3
  Me.AcceptButton = Button2
 End Sub
End Class
返信 編集キー/


管理者用

- Child Tree -