我正在c sharp/xaml中製作一個程序。我有一個保存按鈕,並且認爲如果我可以發送「控制信號」,按下時最簡單的方法就是有效。什麼是命令(和任何包括VS不會作爲標準添加)這樣做?c#發送控制快捷方式
一個完全不同的問題來減少線程數量,我將如何使文本塊(或文本框,如果更容易)自動換行到達最後,而不是繼續發送文字離屏。
我正在c sharp/xaml中製作一個程序。我有一個保存按鈕,並且認爲如果我可以發送「控制信號」,按下時最簡單的方法就是有效。什麼是命令(和任何包括VS不會作爲標準添加)這樣做?c#發送控制快捷方式
一個完全不同的問題來減少線程數量,我將如何使文本塊(或文本框,如果更容易)自動換行到達最後,而不是繼續發送文字離屏。
有更好的模式,我會建議尋找到你的UI耦合到按鍵(如Commands)之前,但如果你真的想這樣做,你可以從Windows窗體的SendKeys類。這將允許您將按鍵發送到應用程序,就像用戶按下這些鍵一樣。
至於第二個問題,如果您使用的是WPF,只需創建一個文本框元素並設置AcceptsReturn="True"
和TextWrapping="Wrap"
。下面是一個例子:
<TextBox
Name="tbMultiLine"
TextWrapping="Wrap"
AcceptsReturn="True"
VerticalScrollBarVisibility="Visible"
>
This TextBox will allow the user to enter multiple lines of text. When the RETURN key is pressed,
or when typed text reaches the edge of the text box, a new line is automatically inserted.
</TextBox>
您可以使用SaveFileDialog()。
private void button1_Click(object sender, EventArgs e)
{
// When user clicks button, show the dialog.
saveFileDialog1.ShowDialog();
}
private void saveFileDialog1_FileOk(object sender, CancelEventArgs e)
{
// Get file name.
string name = saveFileDialog1.FileName;
// Write to the file name selected.
// ... You can write the text from a TextBox instead of a string literal.
File.WriteAllText(name, "test");
}
發送控制信號比發送第二個功能更簡單嗎?我還需要其他幾個控制信號,但是如果我特別要求如何發送控制信號,我不需要列出所有控制信號。 – babno 2011-02-24 21:16:54
如果您使用XAML,我會假設您使用的是WPF。所以你應該能夠將Button的Command
屬性綁定到ApplicationCommands.Save
。
你的問題沒有意義。你可以重新翻譯/添加信息嗎? 1)你的意思是「事件」嗎? 2)文本框不使用線程,它們由一個共享的GUI線程處理。 – 2011-02-24 21:12:56
您使用的是WPF還是Forms? – Robin 2011-02-24 21:13:20
WPF。我正在參考這個論壇上的主題。我有一個名爲save的按鈕。當用戶按下按鈕時,它會調用按鈕按下事件,並在該事件中我想讓計算機認爲用戶按下了控件。 – babno 2011-02-24 21:22:05