title: Buttons in message box in Visual Basic .NET
body: <p>I'm writing a tic tac toe program and i have the board set up, and the game works for the majority. determining who wins. what i am trying to do right now is after a winner is determined, a message box pops up and says who ever wins. I would like the message box to contain two buttons. One button with the text, "Ok for new game" and the second button with the text, "Cancel to exit". I am using Visual Basic 2010 Express.</p>
  
  <p>Here is the code I have:</p>
  
  <pre><code>Public Class Form1
      Private turn As Integer = 1
      Private play() As String = {"O", "X"}
      Private board(2, 2) As String
  
      Private Structure arrayIndex
          Dim x As Integer
          Dim y As Integer
      End Structure
  
      Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
          For x As Integer = 1 To 9
              Dim b As New Button With { _
                  .Width = 80, _
                  .Height = 80, _
                  .Text = "", _
                  .Location = New Point(60 + (((x - 1) Mod 3) * 80), 60 + (((x - 1) \ 3) * 80)), _
                  .Tag = New arrayIndex With {.x = (x - 1) Mod 3, .y = (x - 1) \ 3}}
              Me.Controls.Add(b)
              AddHandler b.Click, AddressOf buttons_click
  
          Next
          Me.SetClientSizeCore(360, 360)
  
  
      End Sub
  
      Private Sub buttons_click(ByVal sender As System.Object, ByVal e As System.EventArgs)
          If DirectCast(sender, Button).Text &lt;&gt; "" Then Return
          DirectCast(sender, Button).Text = play(turn Mod 2)
          Dim index As arrayIndex = DirectCast(DirectCast(sender, Button).Tag, arrayIndex)
          board(index.x, index.y) = play(turn Mod 2)
          turn += 1
          winner()
      End Sub
  
      Private Sub winner()
          Dim rows(7) As String
  
          rows(0) = board(0, 0) &amp; board(1, 0) &amp; board(2, 0)
          rows(1) = board(0, 1) &amp; board(1, 1) &amp; board(2, 1)
          rows(2) = board(0, 2) &amp; board(1, 2) &amp; board(2, 2)
          rows(3) = board(0, 0) &amp; board(0, 1) &amp; board(0, 2)
          rows(4) = board(1, 0) &amp; board(1, 1) &amp; board(1, 2)
          rows(5) = board(2, 0) &amp; board(2, 1) &amp; board(2, 2)
          rows(6) = board(0, 0) &amp; board(1, 1) &amp; board(2, 2)
          rows(7) = board(2, 0) &amp; board(1, 1) &amp; board(0, 2)
  
          For x As Integer = 0 To 7
              If rows(x).Length = 3 AndAlso (rows(x)(0) = rows(x)(1) AndAlso rows(x)(0) = rows(x)(2)) Then
                  MessageBox.Show(rows(x)(0) &amp; "'s winsssss!", "We have a winner!", MessageBoxButtons.OKCancel, MessageBoxIcon.Information)
              If DialogResult.OK Then
              turn = 1
              ReDim board(2, 2)
              For Each ctrl As Control In Controls
              ctrl.Text = ""
              Next
              Return
              Else
                 Me.Close()
  
  
              End If
      End Sub
  End Class
  </code></pre>