我已经在 Visual C#设计中创建了一个面板到我的表单中,现在我想显示与我拥有的数据库表中的注册一样多的面板。我有这个脚本,但结果是: User login_user = new User(); login_user.SelectThisMember(); lblHello.Text = "Hello, " + login_user.username + " !"; Booking user_bookings = new Booking(); Booking[] user_bookings_list; user_bookings_list = user_bookings.MyBookings(); lblTest.Text = user_bookings_list.Length.ToString(); Panel[] panelBookingList = new Panel[user_bookings_list.Length]; for (int i = 0; i < user_bookings_list.Length; i++) { panelBookingList[i] = panelBooking; } for (int i=0; i< panelBookingList.Length; i++) { panelBookingList[i].Location = new Point(193, 128+128); this.Controls.Add(panelBookingList[i]); }带有“ 3 ”的标签表示我在数据库中的行数。另外,当我按下表中用于该注册的删除按钮时,我该怎么做才能知道?
1 回答
湖上湖
TA贡献2003条经验 获得超2个赞
如果我没记错的话,您不会更新面板的位置。
panelBookingList[i].Location = new Point(193, 128+128);
位置应取决于您的变量“i”
最好的方法是使用堆栈面板,只需将面板转储到其中,而无需设置它们的位置。这样,如果您更改面板的布局,您就不必进一步编辑代码来考虑面板的新高度。堆栈面板只是一个接一个地放置控件。
否则,您需要对面板的高度进行硬编码
double myPanelHeight = 100;// hardcoded height of your panel
panelBookingList[i].Location = new Point(193, 128+ (i * myPanelHeight));
- 1 回答
- 0 关注
- 144 浏览
添加回答
举报
0/150
提交
取消