gpt4 book ai didi

c# - 使用 Windows 窗体实现接口(interface)

转载 作者:行者123 更新时间:2023-11-30 14:58:41 25 4
gpt4 key购买 nike

我是界面的新手,所以我有一个问题对你们大多数人来说可能很简单。

我目前正在尝试为 Windows 窗体创建一个界面。看起来有点像

interface myInterface
{
//stuff stuff stuff
}

public partial class myClass : Form, myInterface
{
//More stuff stuff stuff. This is the form
}

当我尝试实现它时,问题就来了。如果我实现

myInterface blah = new myClass();
blah.ShowDialog();

ShowDialog() 函数现在可供它使用。这是有道理的 - myInterface 是一个界面,而不是一种形式......但我很好奇我应该如何使用 Windows 窗体实现界面,或者它是否是一个可行的选择。

有没有人对我应该如何去做有任何建议?

谢谢!

最佳答案

解决此问题的一种方法是将 ShowDialog 添加到 myInterface:

 interface myInterface
{
DialogResult ShowDialog();
}

现在,您可以在接口(interface)上调用该方法而无需转换。

如果你想更喜欢它,你可以创建另一个代表任何对话框的界面......

interface IDialog
{
DialogResult ShowDialog();
}

然后让你的其他接口(interface)实现 IDialog:

interface myInterface : IDialog
{
//stuff stuff stuff
}

这具有潜在重用更多代码的优势...您可以使用接受 IDialog 类型参数的方法,并且它们不必了解 myInterface。如果您为所有对话框实现一个通用的基础接口(interface),您可以采用相同的方式处理:

void DialogHelperMethod(IDialog dialog)
{
dialog.ShowDialog();
}

myInterface foo = new myClass();
DialogHelperMethod(foo);

关于c# - 使用 Windows 窗体实现接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18209378/

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