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)
我该如何实现这一目标?
是的,这是可能的,我也做了同样的定制,有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
我自己的问题也会帮助你:
你必须使用WinAPI
for,你需要自己编写ShowDialog
方法调用其中的GetOpenFileName
windows函数,而不是调用.net的OpenFileDialog
.在GetOpenFileName
将创建的窗口OpenFileDialog
.(请参阅http://msdn.microsoft.com/en-us/library/ms646927%28v=vs.85%29.aspx).这与编写HookProc程序和捕获WM_INITDIALOG, CDN_INITDONE
内部事件一起将帮助您做您想做的事情.
要添加单选按钮等,你必须调用Windows功能,如CreateWindowEx
与SendMessage
....
第二个链接具有定制的确切方向......
要求任何澄清......