gpt4 book ai didi

c# - 如何使用嵌套类型自定义 OpenFileDialog?

转载 作者:太空宇宙 更新时间:2023-11-03 11:48:06 25 4
gpt4 key购买 nike

假设我想自定义一个 OpenFileDialog 并更改,例如,文件扩展名过滤器的工作方式,如 this 的情况问题。在我向上述问题的作者指出 OpenFileDialog 不可继承后,我收到了以下评论:

Even though the OpenFileDialog is sealed (not inheritable), you may use it as a nested type. For instance, using a property that will get the NativeDialog. Then, you write your method always using the NativeDialog property and you're done.

我的问题是,有人可以向我提供示例代码,说明我将如何继续做类似的事情吗?我对嵌套类型的概念有点陌生,所以我很难自己弄明白,我在网上搜索但找不到任何关于它的太具体的内容。

谢谢!

最佳答案

嵌套类型只是 wrapper class 的另一种说法(我假设)。因此,您将创建一个具有私有(private)成员类 OpenFileDialog 的新类。然后创建所需的所有公共(public)成员。

因此,对于 OpenFileDialog,您将创建一个这样的类:

public class CustDialog
{
private OpenFileDialog _dialog;

public CustDialog()
{
//instantiate custom OpenFileDialog here
}

public DialogResult ShowDialog()
{
return _dialog.ShowDialog();
}
}

您甚至可以更进一步,让包装类继承自 CommonDialog类(class)。这将允许您像使用标准对话框一样使用包装类。

关于c# - 如何使用嵌套类型自定义 OpenFileDialog?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2862833/

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