Vb.net 如何生成所选按钮的窗口窗体返回值
我正在一个窗口窗体上制作一个电影放映室的图形表示。每个座位都表示为一个按钮 我在另一张表格上还有一个按钮,用来预订座位。此按钮启动电影院房间窗体,如果用户单击任何按钮,则应返回并显示该按钮上的文本 电影院房间类的图形表示Vb.net 如何生成所选按钮的窗口窗体返回值,vb.net,Vb.net,我正在一个窗口窗体上制作一个电影放映室的图形表示。每个座位都表示为一个按钮 我在另一张表格上还有一个按钮,用来预订座位。此按钮启动电影院房间窗体,如果用户单击任何按钮,则应返回并显示该按钮上的文本 电影院房间类的图形表示 Imports System.Data.SqlClient Public Class Cinema1Seats Dim seat As String = vbNull Private Sub Cinema1Seats_Load(sender As Object
Imports System.Data.SqlClient
Public Class Cinema1Seats
Dim seat As String = vbNull
Private Sub Cinema1Seats_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
con = getconnect()
con.Open()
Dim comm As New SqlClient.SqlCommand
comm = New System.Data.SqlClient.SqlCommand("select * from seats ", con)
' comm.Parameters.Add("@id", SqlDbType.VarChar).Value = ticketNumber
Dim sqlReader As System.Data.SqlClient.SqlDataReader
sqlReader = comm.ExecuteReader
Do While sqlReader.Read
Dim seat As String = sqlReader.GetString(0)
Dim seatbtn As New Button
seatbtn.Width = 50
seatbtn.Height = 20
seatbtn.Text = seat
AddHandler seatbtn.Click, AddressOf Me.Button_Click ' Again from answer by Reed.
Me.FlowLayoutPanel1.Controls.Add(seatbtn)
Loop
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim asas As String = (CType(sender, System.Windows.Forms.Button).Text)
MsgBox(asas)
End Sub
Public Function getseat() As String
If (seat = vbNull) Then
Else
Return seat
Me.Close()
End If
End Function
End Class
有按钮的第二个窗体
Public Class SampleSeat_vb
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Try
Dim flag As Integer = 0
Dim i As Integer = 0
While i < Application.OpenForms.Count And flag = 0
If Application.OpenForms(i).Name = "Cinema1Seats" Then
flag = 1
End If
i += 1
End While
If flag Then
Application.OpenForms("Cinema1Seats").BringToFront()
Else
Dim str As New Cinema1Seats
str.Show()
Dim we As String = str.getseat
MsgBox("You selected : " + we)
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub SampleSeat_vb_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
End Sub
End Class
我并不十分清楚您试图实现的目标,但为了找到所单击按钮的文本,您可以执行以下操作:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim btn As Button = CType(sender, Button)
MessageBox.Show("You clicked on " + btn.Text")
End Sub
将名为get_seat的方法添加到表示座位集合的类中没有意义。如果设计不正确,就无法编写正确的代码。如果您想知道最后单击了哪个座位,则需要一个变量。在Click事件处理程序中分配它。命名奇怪的变量asas只需要一个不同的作用域。让它成为Cinema1Seats的财产。对于varaible Puropoix,我很抱歉,@Hans,谢谢你的帮助。我想过“尽快”,但现在我知道我把每个人都搞砸了。如何在Java中使带有seats as buttons的表单作为jOptionPane运行,这样当我单击bookingform上的button以选择seat时,会弹出SeatForm,用户单击按钮,按钮文本或标记保存在变量X中,SeatForm关闭,我会按照我在bookingform中希望的那样继续使用变量X执行。谢谢Hanks Matt,对不起,我的问题不清楚,我不熟悉VB.NET,如果单击表单上的按钮,您的答案会显示一条消息,这很好。但是我想让你帮我做的是,想象一下有两个表单form1和form2,你在form1上有一个按钮,执行一些代码,执行时必须得到座位号x,然后form2启动,它有许多按钮,当用户点击form2上的任何按钮时,form2关闭,x值是CTypesender的值,button。在JAVA中,我使用表单作为jOptionPane。谢谢