【发布时间】:2014-11-24 14:04:51
【问题描述】:
我正在尝试在 winforms 中创建预订系统。我有一个组合框,您可以在其中选择从一到十的数字。我也有 10 个组框,我只希望显示的组框数量等于组合框中选定的数字。在组框中,我有另一个组合框,我可以在其中选择座位号,这就是为什么并非所有框都同时显示很重要的原因。我有点迷茫,我曾尝试使用 actionlistener,但没有成功。
这里我调用了组合框所在的 GUI:
private void btnMakeBook_Click(object sender, EventArgs e)
{
ServiceReferenceBooking.BookingServiceClient bookingService = new ServiceReferenceBooking.BookingServiceClient();
ServiceReferenceTickets.TicketsServiceClient ticketsService = new ServiceReferenceTickets.TicketsServiceClient();
splitContainer1.Panel2.Controls.Clear();
InitializeMakeBookingComponents();
var allBookings = bookingService.GetAllBookings();
dataGridView2.DataSource = allBookings;
cbTickets.ValueMember = "amount";
cbTickets.DisplayMember = "amount";
cbTickets.DataSource = ticketsService.GetAllTickets();
}
这是我想要制作的事件:
private void cbTickets_SelectedIndexChanged(object sender, EventArgs e)
{
if (cbTickets.SelectedItem.ToString() == "2")
{
gboxSeat2.Visible = true;
}
}
我收到错误:对象引用未设置为对象的实例。 它在 if 语句所在的那一行。
这是我尝试创建的事件,但在选择 2 时 GroupBox 不可见。
希望大家帮忙!谢谢
【问题讨论】:
-
你在哪里被击中了?有什么问题,如果某些东西不起作用,请发布您的代码。听起来只是在该数字组合框的
SelectedIndexChanged事件中设置GroupBox.Visible属性。 -
我没有要发布的代码。是的,这就是我想做的事情。我已经设置了所有 GroupBox.Visible = false 以便默认情况下不显示它们。但我不知道如何使用 SelectedIndexChanged ?
-
那是simple。试试看,遇到问题就来这里。谢谢。