2011-02-24 37 views
0

我正在c sharp/xaml中製作一個程序。我有一個保存按鈕,並且認爲如果我可以發送「控制信號」,按下時最簡單的方法就是有效。什麼是命令(和任何包括VS不會作爲標準添加)這樣做?c#發送控制快捷方式

一個完全不同的問題來減少線程數量,我將如何使文本塊(或文本框,如果更容易)自動換行到達最後,而不是繼續發送文字離屏。

+0

你的問題沒有意義。你可以重新翻譯/添加信息嗎? 1)你的意思是「事件」嗎? 2)文本框不使用線​​程,它們由一個共享的GUI線程處理。 – 2011-02-24 21:12:56

+0

您使用的是WPF還是Forms? – Robin 2011-02-24 21:13:20

+0

WPF。我正在參考這個論壇上的主題。我有一個名爲save的按鈕。當用戶按下按鈕時,它會調用按鈕按下事件,並在該事件中我想讓計算機認爲用戶按下了控件。 – babno 2011-02-24 21:22:05

回答

0

有更好的模式,我會建議尋找到你的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> 
0

您可以使用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"); 
    } 
+0

發送控制信號比發送第二個功能更簡單嗎?我還需要其他幾個控制信號,但是如果我特別要求如何發送控制信號,我不需要列出所有控制信號。 – babno 2011-02-24 21:16:54

0

如果您使用XAML,我會假設您使用的是WPF。所以你應該能夠將Button的Command屬性綁定到ApplicationCommands.Save