gpt4 book ai didi

c# - 自定义 OpenFileDialog

转载 作者:行者123 更新时间:2023-11-30 13:02:25 24 4
gpt4 key购买 nike

我正在使用 C# 开发 winforms 应用程序。我想要实现的是从我使用以下代码的用户那里获取一个文件:

OpenFileDialog dlg = new OpenFileDialog();
if (dlg.ShowDialog() == DialogResult.OK)
{
string sFileName = dlg.FileName;
//my code goes here
}

现在,一切正常,但我想在同一个对话框中放置 3 个单选按钮,这意味着我现在可以从该对话框中得到两个东西

string sFileName = dlg.FileName; //same as in case of traditional dialog box
//some thing like this which tells which radio button is selected:
dlg.rbTypes.Selected

我如何实现这一目标?

最佳答案

是的,这是可能的,我成功地使用 SaveFileDialog 进行了相同类型的自定义,这非常有趣。

点击以下链接:

http://www.codeproject.com/KB/dialog/OpenFileDialogEx.aspx

http://www.codeproject.com/KB/cs/getsavefilename.aspx

http://www.codeproject.com/KB/dialog/CustomizeFileDialog.aspx

我自己的问题也会对你有帮助:

Change default arrangement of Save and Cancel buttons in SaveFileDialog

How to stop overwriteprompt when creating SaveFileDialog using GetSaveFileName

你必须为此使用 WinAPI 并且你需要在你自己的调用 GetOpenFileName 窗口函数中编写 ShowDialog 方法,而不是调用 .net 的 OpenFileDialogGetOpenFileName 将创建窗口 OpenFileDialog。 (请参阅 http://msdn.microsoft.com/en-us/library/ms646927%28v=vs.85%29.aspx)。这与编写 HookProc 过程并在其中捕获诸如 WM_INITDIALOG、CDN_INITDONE 之类的事件一起将帮助您做您想做的事。

要添加单选按钮等,您必须调用窗口函数,例如 CreateWindowExSendMessage....

第二个链接有定制的确切方向......

要求任何澄清...

关于c# - 自定义 OpenFileDialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15432773/

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