Я понимаю, что подобный вопрос задавали здесь несколько раз, но я не могу понять, почему мой код не работает.
Я пытаюсь добавить панель только тогда, когда переменная int selected
равна 0
. Когда я запускаю свой код, я не вижу свою панель, как мог бы ожидать.
Мой код ниже:
if (selected == 0)
{
Panel p = new Panel();
p.Height = 637;
p.Width = 449;
p.Location = new Point (269, 449);
p.BorderStyle = BorderStyle.FixedSingle;
p.Visible = true;
p.BackColor = Color.White;
p.AllowDrop = true;
p.Dock = DockStyle.Top;
p.Show();
MessageBox.Show("Now we should see the Panel");
}
Что я делаю не так?
3 ответа
Вы создаете Panel
, но не добавляете его ни в какую коллекцию элементов управления.
Вы можете сделать это с помощью этого кода:
if (selected == 0)
{
Panel p = new Panel();
p.Height = 637;
p.Width = 449;
p.Location = new Point (269, 449);
p.BorderStyle = BorderStyle.FixedSingle;
p.Visible = true;
p.BackColor = Color.White;
p.AllowDrop = true;
p.Dock = DockStyle.Top;
///p.Show();
this.Controls.Add(p);
MessageBox.Show("Now we should see the Panel");
}
Если вы хотите добавить элементы управления к своему Panel
, не забудьте:
- установить
.Location
относительноPanel
- используйте
p.Controls.Add(yourNewControl)
Вы создаете панель, но не добавляете ее в родительский элемент управления (который, как я предполагаю, является формой).
Вам нужно будет добавить что-то вроде следующего:
this.Controls.Add(p);
Итак, ваш общий код будет примерно таким:
if (selected == 1)
{
var p = new Panel();
// Set some properties
this.Controls.Add(p);
}
Вам нужно добавить свою панель в родительский элемент управления:
this.Controls.Add(panel);
Я думаю, вам следует прочитать этот Как программно добавлять элементы управления в формы Windows во время выполнения с помощью Visual C #
Похожие вопросы
Новые вопросы
c#
C# (произносится как «see Sharp») — это высокоуровневый мультипарадигменный язык программирования со статической типизацией, разработанный Microsoft. Код C# обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, которое включает в себя .NET, .NET Framework, .NET MAUI и Xamarin среди прочих. Используйте этот тег для ответов на вопросы о коде, написанном на C#, или о формальной спецификации C#.