自定义OpenFileDialog

Jam*_*ame 10 c# openfiledialog customizing winforms

我正在使用C#中的winforms应用程序.我想要实现的是从用户获取我正在使用以下代码的文件:

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

现在,一切正常,但我想在同一个对话框中放入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
Run Code Online (Sandbox Code Playgroud)

我该如何实现这一目标?

Dul*_*ttu 9

是的,这是可能的,我也做了同样的定制,有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

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

更改SaveFileDialog中保存和取消按钮的默认排列

使用GetSaveFileName创建SaveFileDialog时如何停止覆盖提示

你必须使用WinAPIfor,你需要自己编写ShowDialog方法调用其中的GetOpenFileNamewindows函数,而不是调用.net的OpenFileDialog.在GetOpenFileName将创建的窗口OpenFileDialog.(请参阅http://msdn.microsoft.com/en-us/library/ms646927%28v=vs.85%29.aspx).这与编写HookProc程序和捕获WM_INITDIALOG, CDN_INITDONE内部事件一起将帮助您做您想做的事情.

要添加单选按钮等,你必须调用Windows功能,如CreateWindowExSendMessage....

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

要求任何澄清......