Я пытаюсь понять проблемы дизайна шаблона. Я пытаюсь изменить код, подобный этому в winforms, и попытаться выяснить, соответствует ли какой-либо шаблон дизайна моему требованию. Пожалуйста, предложите, какой из них лучше всего в этом сценарии. Это очень простой код, содержащий 2 страницы вкладок, которые могут иметь разные элементы управления, которые можно добавить динамически и считывать разные файлы при нажатии определенной вкладки. Чтобы подробнее разобраться ... Я написал этот код, чтобы узнать и понять шаблон дизайна. Это просто сценарий, когда пользователь нажимает на определенную вкладку, на которой будут отображаться динамические элементы управления..net дизайн шаблон вопрос
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
if (tabControl1.SelectedTab.Name.Equals("tabPage1"))
{
GeneratedynamicControlsForTab1();
}
else if (tabControl1.SelectedTab.Name.Equals("tabPage2"))
{
GeneratedynamicControlsForTab2();
}
}
private void GeneratedynamicControlsForTab1()
{
Label label1 = new Label();
label1.Text = "Label1";
tabPage1.Controls.Add(label1);
}
private void GeneratedynamicControlsForTab2()
{
tabPage1.Controls.Clear();
Label label2 = new Label();
label2.Text = "Label2";
tabPage2.Controls.Add(label2);
}
}
Пожалуйста, дайте мне знать, если это ниже реализации является правильным для выше сценарий Пожалуйста, дайте мне знать, если эта реализация является правильным, чтобы изменить код выше для государственного образца.
public partial class Form1 : Form
{
void GenerateControl(iState state)
{
switch (state.value)
{
case 1:
GenerateControlforTab1();
break;
case 2:
GenerateControlforTab2();
break;
}
}
void GenerateControlforTab1()
{
}
void GenerateControlforTab2()
{
}
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
IState state = new State()
if (tabControl1.SelectedTab.Name.Equals("tabPage1"))
{
state.value =1 ; }
else if (tabControl1.SelectedTab.Name.Equals("tabPage2"))
{
state.value =2;
}
this.GenerateControls();
}
}
interface iState {
void GenerateControls();
}
Каково ваше «требование» и почему вы это делаете: динамическое создание элементов управления. вы заметили, что вы всегда очищаете tabPage1 – OlimilOops
Привет, я скорректировал код. Требование находится на клике определенной вкладки, контроллеры dynmic должны быть addesd на основе определенных условий, полученных из базы данных. В настоящее время я только концентрируюсь на дизайне, поэтому не звоню из базы данных. – user359562