【发布时间】:2014-10-16 18:42:08
【问题描述】:
我有一个包含几种不同表单的程序,这些表单中的大多数都有一些重复,尤其是在涉及表单操作控件时。如何创建一个通用类,这样我在每个表单上都没有相同的代码,但仍然能够操作单个表单。例如,下面的代码是一个 ToolStripMenuControl,用于使表单始终位于顶部。我有这个代码以其他形式重复了 4 次,但我似乎无法理解如何为此创建一个共享控件。我在这里错过了什么?
public bool onTop = false;
public bool ToggleTop()
{
if (onTop)
{
onTop = false;
this.TopMost = false;
keepOnTopToolStripMenuItem.Checked = false;
return onTop;
}
if (!onTop)
{
onTop = true;
this.TopMost = true;
keepOnTopToolStripMenuItem.Checked = true;
return onTop;
}
else return onTop;
}
private void keepOnTopToolStripMenuItem_Click(object sender, EventArgs e)
{
ToggleTop();
}
【问题讨论】:
-
听起来很简单,但考虑到这会切换一个布尔值,它将存储在另一个类中,如何防止表单在布尔值设置为默认值的情况下重新生成这个实例?只需将布尔值存储在引用类的表单上?
-
另外,也不是那么容易,因为在上面的代码中 this.TopMost 没有引用一个类。 keepOnTopToolStripMenuItem 也没有。
标签: c#