我是C#编程的新手,我希望这是一个简单的问题。
我有这段代码在带有WinXP的Visual Studio 2010上运行良好:
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键。
我还尝试用这个替换发送密钥:
InputSimulator.SimulateKeyPress(VirtualKeyCode.RETURN);(必须添加特定的.dll)
但这也行不通。
有人可以帮忙吗?
提前谢谢。
洛里多
不需要 SaveFileDialog,因为您不需要用户干预/输入。
请尝试以下操作:
var initialDirectory = @"C:BARCODE";
var fileName = "modulaListaV.txt";
var fullFileName = Path.Combine (initialDirectory ,fileName );
richTextBox3.SaveFile(fullFileName,RichTextBoxStreamType.PlainText);
或更短:
richTextBox3.SaveFile(@"C:BARCODEmodulaListaV.txt",RichTextBoxStreamType.PlainText);
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);
}