目前我有一个带有窗体的C#程序,然后将用户控件模板放到该窗体上。用户控件模板实际上只是作为一个占位符使用。我有一系列其他控件,这些控件继承自此用户控件模板。
这些控件中的每一个都有导航按钮,如“继续”和“返回”,并且每个控件都知道需要加载哪个控件。但是,我需要找出更简单的方法来拥有全局于这些控件的变量。
我唯一的解决方法是在加载每个控件时将表单传递给每个控件,并在表单内部使用变量进行读写。有什么正确的方法可以使每个用户控件屏幕都基于包含所有控件均可访问的对象的基本控件构建?
对不起,我的问题表述有些混乱,但我整个早上都在思考这个问题。
以下是一些代码:
我编写的大部分内容都是基于隐藏和显示用户控件,以便在导航期间不会丢失控件中的内容。随着时间的推移,我不需要这样做,因为它最终将从数据库加载数据字段。
代码用于从窗体单击最初加载控件:
conTemplate1.Controls.Clear();
conInbound Inbound = new conInbound(this);
Inbound.Dock = DockStyle.Fill;
Inbound.Anchor = (AnchorStyles.Left | AnchorStyles.Top);
conTemplate1.Controls.Add(Inbound);
一个控件中继续按钮的代码:
if ((Parent.Controls.Count - 1) <= Parent.Controls.IndexOf(this))
{
UserControl nextControl = new conPartialClear();
nextControl.Dock = DockStyle.Fill;
Parent.Controls.Add(nextControl);
this.Hide();
Parent.Controls[Parent.Controls.IndexOf(this) + 1].Show();
}
else
{
this.Hide();
Parent.Controls[Parent.Controls.IndexOf(this) + 1].Show();
}