我一直在尋找這個地方,我找不到任何東西,然後我發現這個網站,我希望我可以得到一些幫助。我如何啓用和禁用一個按鈕取決於我是否可以複製?
我有一個名爲rtb1的RichTextBox和一個名爲btn1的Button。
我正在做一個簡單的記事本,我需要知道如何禁用一個按鈕,取決於我是否可以複製我的richTextBox1。我想知道的是,如何在啓用我的按鈕時可以複製,但在無法複製時將其禁用?
謝謝。
我一直在尋找這個地方,我找不到任何東西,然後我發現這個網站,我希望我可以得到一些幫助。我如何啓用和禁用一個按鈕取決於我是否可以複製?
我有一個名爲rtb1的RichTextBox和一個名爲btn1的Button。
我正在做一個簡單的記事本,我需要知道如何禁用一個按鈕,取決於我是否可以複製我的richTextBox1。我想知道的是,如何在啓用我的按鈕時可以複製,但在無法複製時將其禁用?
謝謝。
我想我可以幫你,我是在一個先進的記事本工作,我不得不這樣做只是這
把在您的撤消按鈕在此代碼:
private void btn1_Click(object sender, EventArgs e)
{
rtb1.Copy();
}
,然後把這個代碼在你rtb1.TextChanged事件:
if (rtb1.CanUndo == true)
{
btn1.Enabled = true;
}
else if (rtb1.CanUndo != true)
{
btn1.Enabled = false;
}
,如果你可以撤消的方式,啓用了撤消按鈕,但如果你不能,禁用它。
希望這有助於!
您應該可以訂閱RichTextBox.SelectionChanged
事件。如果SelectionLength
大於零,啓用您的按鈕。
這可以如下所示(InitializeComponent
後添加在構造函數,或在窗體的負載等):
rtb1.SelectionChanged += (sender, args) =>
{
btn1.Enabled = rtb1.SelectionLength > 0;
};
你是什麼意思「訂閱」?我對編程相當陌生 –
@JackNelson'SelectionChanged'是一個* event *(就像'Button.Click')。請參閱:http://msdn.microsoft.com/en-us/library/awbftdfh.aspx如果您要使用UI元素,這一點非常重要。 –
您能否解釋在哪種情況下您無法複製並需要禁用按鈕 – Reda
@ user2266486如果您沒有任何可複製的內容,因爲沒有選擇任何內容。有些程序選擇在這種情況下清除剪貼板,其他程序甚至在沒有任何選擇的情況下找到要複製的內容,有些程序(顯然是這一個)只是在沒有選擇任何內容的情況下不會讓您複製。 – Servy