我在OpenFileDialog中設置了默認的文件名是answer_XXXXXX.csv。但它是這樣顯示的。默認名稱「answer_XXXXXX.csv」未顯示完整。 默認名稱與OpenFileDialog C#?
然後我點擊文件名組合框。它顯示正是
我怎樣才能解決呢?
在此先感謝。
我在OpenFileDialog中設置了默認的文件名是answer_XXXXXX.csv。但它是這樣顯示的。默認名稱「answer_XXXXXX.csv」未顯示完整。 默認名稱與OpenFileDialog C#?
然後我點擊文件名組合框。它顯示正是
我怎樣才能解決呢?
在此先感謝。
這是一個小的解決方法。在調用ShowDialog()之前有以下行。
openfiledialog.ShowHelp = true;
例子:
OpenFileDialog openfiledialog = new OpenFileDialog();
openfiledialog.ShowHelp = true;
openfiledialog.FileName = "answer_XXXXXXX.csv";
openfiledialog.ShowDialog();
更多:
這裏是另一個解決辦法,你可以使用更復雜的Win32 API函數來訪問文件名組合框,做任何你想要但這個工作使用SendKeys
,我沒有時間挖掘到Win32 API函數在這個時候:
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();
}
我無法解釋這個錯誤,但也有一些變通和上面的一個就是其中之一。
王中王的答案似乎是最好的解決辦法,我用基本相同的,但也許有點簡單(顯然我沒有這方面的聲譽,以贊成票或在自己的崗位直接評論):
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) {
...
}
這是否也與其他默認值一起發生?例如,「foobar_FOOBAR.csv」如何顯示? – 2013-06-18 08:17:32
我認爲這是系統的錯誤.. https://connect.microsoft.com/VisualStudio/feedback/details/525070/openfiledialog-show-part-of-file-name-in-win7# – Bolu
這可能是該錯誤,但我沒有發現我的應用程序有任何問題。我試過名稱爲answer_XXXXXX123456.csv,它沒有給出任何問題。但是,如果你提供了更長的名字,那麼看到的文件名必須滾動到左側才能看到完整的文件名。 :) –