2013-12-03 3 views
0

У меня есть форма, состоящая из панели и трех кнопок с именем save и loadForm1, loadForm2. Когда я нажимаю кнопку loadForm1 (2), он загружает конкретную форму в панель.Как узнать, какая форма загружена внутри панели программно

Но у меня есть только одна кнопка сохранения. Я хочу сохранить данные, которые находятся на форме в панели, в базу данных.

Как я могу получить доступ к конкретной форме? (Я хочу сказать, что я хочу знать, какая форма загружена в панель, когда я нажимаю кнопку сохранения)

ответ

1
var form = Panel1.Controls.OfType<Form>().First(); 

if(form.Name =="Form1") // or you can check ID 
{ 

} 
0

Панель имеет свойство «Дети», которое фактически является массивом. Также каждый элемент управления имеет свойство Tag, вы можете писать здесь, что хотите. Поэтому, когда вы загружаете какой-либо элемент управления в панель, просто инициализируйте его свойство Tag некоторым значением, а при нажатии кнопки сохранения проверьте его значение свойства тега.

var form1 = new SomeControl(); 
form1.Tag = 1; 
yourPanel.Children.Add(form1); 

// and then somewhere in code 
if (yourPanel.Children[0].Tag == 1) 
{ 
    // control 1 action 
} 

Это самый простой способ, я думаю.

Смежные вопросы