Есть 5 шт UserControl'ов, в каждом делаю ( разные названия классов )
public partial class UserControlClass : UserControl
{
public UserControlClass()
{
InitializeComponent();
}
private static UserControlClass_instance;
public static UserControlClassInstance
{
get
{
if (_instance == null)
{
_instance = new UserControlClass();
}
return _instance;
}
}
}
По кнопкам распределяю следующие:
if (!Panel.Controls.Contains(UserControlClass.Instance))
{
Panel.Controls.Add(UserControlClass.Instance);
UserControlClass.Instance.Dock = DockStyle.Fill;
UserControlClass.Instance.BringToFront();
}
else
{
UserControlClass.Instance.BringToFront();
}
Panel - Место куда будет показываться вызываемый UserControl
Можно ли создать один обработчик для работы с этими usercontroll'aми ?
Что-то типо такого:
public static void ControlVisible(Panel Panl, UserControl sv)
{
if (!Panl.Controls.Contains(sv.Instance))
{
// UserControl sv - не правильный ( он не передаёт Instance )
Panl.Controls.Add(SettingControl.Instance);
sv.Instance.Dock = DockStyle.Fill;
sv.Instance.BringToFront();
}
else
{
sv.Instance.BringToFront();
}
}
И по кнопкам ( в форме ) делать вызов:
private void Button_Click(object sender, EventArgs e)
{
ControlVisible(Control_Panel, UserControl.name);
}
2-ой вызов при нажатие на кнопку:
private void Button2_Click(object sender, EventArgs e)
{
ControlVisible(Control_Panel, UserControl.name2);
}
Ну если правильно понял то так можно
void Check(Panel p, UserControl c)
{
if (p.Controls.Contains(p.Controls.OfType<UserControl>().Where(g => g.Name == c.Name).FirstOrDefault()))
p.Controls.OfType<UserControl>().FirstOrDefault(g => g.Name == c.Name).BringToFront();
else
{
p.Controls.Add(c);
c.BringToFront();
}
}
Вызовы
private void button1_Click(object sender, EventArgs e)
{
Check(panel1, new Red());
}
private void button2_Click(object sender, EventArgs e)
{
Check(panel1, new Blue());
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Доброе время уток,кря-кряПытаюсь сделать систему меток на Ангуляре, но вот не задача есть компонент :