gpt4 book ai didi

c# - 为一个Form制作多个界面

转载 作者:太空狗 更新时间:2023-10-30 00:34:42 25 4
gpt4 key购买 nike

我有一个应用程序,我希望它有 2 个可选界面:触摸屏和非触摸屏。

我显然可以制作 2 个单独的表格,但是有很多底层代码必须在任何时候对其进行更改时进行复制。所有控件都是相同的,只是大小和位置不同。我正在考虑放入 2 个 InitializeComponent 方法,但我无法使用 visual studio 设计这两个界面。

希望其他人有任何想法。

最佳答案

我认为这将是一个具有两个实现的接口(interface),然后将您想要的一个注入(inject)到表单中。

一个简单的例子:

public interface IScreen
{
void DoStuff();
}

public class TouchScreen : IScreen
{
public void DoStuff()
{ }
}

public class NonTouchScreen : IScreen
{
public void DoStuff()
{ }
}

public partial class ScreenForm : Form
{
IScreen _ScreenType;

public ScreenForm(IScreen screenType)
{
InitializeComponent();
_ScreenType = screenType;
}
}

你会这样加载它:

  TouchScreen touchThis = new TouchScreen();
ScreenForm form1 = new ScreenForm(touchThis);
form1.Show();

//or

NonTouchScreen notTouchThis = new NonTouchScreen();
ScreenForm form2 = new ScreenForm(notTouchThis);
form2.Show();

关于c# - 为一个Form制作多个界面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6944719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com