首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenFileDialog C#的默认名称?

OpenFileDialog C#的默认名称?
EN

Stack Overflow用户
提问于 2013-06-18 16:15:43
回答 3查看 11.5K关注 0票数 12

我在OpenFileDialog中设置了默认文件名为answer_XXXXXX.csv。但它是这样显示的。默认名称"answer_XXXXXX.csv“不会完整显示。

然后我点击文件名组合框。它准确地显示出来。

我怎么才能修复它?

EN

回答 3

Stack Overflow用户

发布于 2013-06-18 16:37:30

对此有一个小的解决方法。在调用ShowDialog()之前,请使用以下代码行。

代码语言:javascript
复制
openfiledialog.ShowHelp = true;

示例:

代码语言:javascript
复制
OpenFileDialog openfiledialog = new OpenFileDialog();
openfiledialog.ShowHelp = true;
openfiledialog.FileName = "answer_XXXXXXX.csv";
openfiledialog.ShowDialog();

有关详细信息,请访问:

.NET 4.5 WPF RibbonWindow broken in VS2012

票数 10
EN

Stack Overflow用户

发布于 2013-06-18 16:43:57

这是另一个变通方法,你可以使用更复杂的Win32 api函数来访问文件名组合框并做任何你想做的事情,但是这个变通方法使用SendKeys,我现在没有时间深入讨论Win32 API函数:

代码语言:javascript
复制
public Form1()
    {
        InitializeComponent();
        t.Interval = 100;
        t.Tick += (s, e) =>
        {
            SendKeys.Send("{HOME}+{END}");
            t.Stop();
        };
}
Timer t = new Timer();
private void button1_Click(object sender, EventArgs e)
{
        OpenFileDialog open = new OpenFileDialog();
        open.FileName = "I love .NET so much";
        t.Start();
        open.ShowDialog();
}

我不能解释这个bug,但有一些工作可以解决,上面的就是其中之一。

票数 5
EN

Stack Overflow用户

发布于 2017-01-24 17:33:32

King King的答案似乎是最好的解决方案,我使用了基本相同的解决方案,但可能更简单(显然我没有名气直接对他的帖子进行投票或评论):

代码语言:javascript
复制
OpenFileDialog oFileD = new OpenFileDialog();
oFileD.InitialDirectory = initialDir;
oFileD.FileName = fileName;
if (oFileD.FileName != "")
{
    Timer t = new Timer();
    t.Interval = 100;
    t.Tick += (s, e) =>
    {
        SendKeys.Send("{HOME}+{END}");
        t.Stop();
    };
    t.Start();
}
if (oFileD.ShowDialog() == DialogResult.OK) {
    ...
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17163784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档