我是c#编程的新手,我希望这是一个简单的问题。
我有这个代码在Visual Studio 2010上使用WinXP正常工作:
SaveFileDialog saveFile2 = new SaveFileDialog();
saveFile2.InitialDirectory = "C:\\BARCODE";
saveFile2.FileName = "modulaListaV.txt";
saveFile2.DefaultExt = "*.txt";
//saveFile2.Filter = ".txt File|*.txt";
SendKeys.Send("{ENTER}");
if (saveFile2.ShowDialog() == System.Windows.Forms.DialogResult.OK &&
saveFile2.FileName.Length > 0)
{
richTextBox3.SaveFile(saveFile2.FileName, RichTextBoxStreamType.PlainText);
}
在我转移到Win 7和Visual Studio 2015后,它不再触发ENTER键了。
我还尝试用这个替换SendKeys:
InputSimulator.SimulateKeyPress(VirtualKeyCode.RETURN); (必须添加特定的.dll)
但那也不起作用。
任何可以请求帮助的人?
提前致谢。
Lorrido
答案 0 :(得分:1)
不需要SaveFileDialog,因为您不需要用户干预/输入。
请尝试以下方法:
var initialDirectory = @"C:\BARCODE";
var fileName = "modulaListaV.txt";
var fullFileName = Path.Combine (initialDirectory ,fileName );
richTextBox3.SaveFile(fullFileName,RichTextBoxStreamType.PlainText);
或更短:
richTextBox3.SaveFile(@"C:\BARCODE\modulaListaV.txt",RichTextBoxStreamType.PlainText);
答案 1 :(得分:0)
SaveFileDialog saveFile2 = new SaveFileDialog();
saveFile2.InitialDirectory = "C:\\BARCODE";
saveFile2.FileName = "modulaListaV.txt";
saveFile2.DefaultExt = "*.txt";
//saveFile2.Filter = ".txt File|*.txt";
System.Threading.Thread.Sleep(1000)
SendKeys.Send("{ENTER}");
if (saveFile2.ShowDialog() == System.Windows.Forms.DialogResult.OK &&
saveFile2.FileName.Length > 0)
{
richTextBox3.SaveFile(saveFile2.FileName,RichTextBoxStreamType.PlainText);
}