有沒有辦法通過點擊按鈕或其他控件來改變c#中點擊事件的「點擊框」?控件點擊事件點擊框
我正在使用自定義GUI控件來控制設備。這些控件可以作爲指示當前狀態(綠色或黑色)以及用戶可以點擊的按鈕的小圓圈工作。
問題是,我在設備上使用觸摸屏,點擊小圓圈並不容易。 50%的時間你錯過了它,並沒有提出控件點擊事件。
我想在不更改圓圈的可視大小的情況下更改此設置,因爲我的GUI在空間上已經受到限制。所以我想要一個看不見的控制本身的可點擊的點擊框。可能嗎?
有沒有辦法通過點擊按鈕或其他控件來改變c#中點擊事件的「點擊框」?控件點擊事件點擊框
我正在使用自定義GUI控件來控制設備。這些控件可以作爲指示當前狀態(綠色或黑色)以及用戶可以點擊的按鈕的小圓圈工作。
問題是,我在設備上使用觸摸屏,點擊小圓圈並不容易。 50%的時間你錯過了它,並沒有提出控件點擊事件。
我想在不更改圓圈的可視大小的情況下更改此設置,因爲我的GUI在空間上已經受到限制。所以我想要一個看不見的控制本身的可點擊的點擊框。可能嗎?
感謝您的提示! 我最終做的事情與Abdul和Active92的答案類似。
我爲每個按鈕創建了一個圖片框,它比按鈕本身更大,並將其放在按鈕「後面」。 (右鍵點擊併發回)。由於我不添加任何圖像的pictureboxes是不可見的。
在每個圖片框中單擊事件處理程序,我只是觸發原始控件的單擊事件。
創建一個更大的按鈕,並執行下面的代碼,其中button1是您的原始按鈕,button2是更大的按鈕。
private void button1_Click(object sender, EventArgs e)
{
ShowMessage();
}
private void button2_Click(object sender, EventArgs e)
{
ShowMessage();
}
private void ShowMessage()
{
MessageBox.Show("ok", "ok");
}
將button2的文本設置爲空白。
設置FlatStyle
至flat
。
Set BorderColor
,MouseDownBackColor
and MouseOverBackColor
to BackColor
。
右鍵單擊按鈕2併發回。
在設計UserControl
時使用Panel
,然後在面板內放置可點擊的項目,Panel
默認爲透明。您無需爲其設置任何其他設置,並且用戶單擊面板消防control1_Click
事件。
private void control1_Click(object sender, EventArgs e)
{
MessageBox.Show("Test");
}
private void panel1_Click(object sender, EventArgs e)
{
control1_Click(sender, e);
}
您可以通過多種方式解決問題,例如:**♦**您可以使用[Flat button](http://stackoverflow.com/a/32966147/3110834),將'FlatStyle'設置爲'Flat'並使用相同的'BackColor',將'FlatAppearance.MouseDownBackColor'和'FlatAppearance.MouseOverBackColor'設置爲合適的顏色並使用所需的按鈕圖像。 **♦**您可以將按鈕的區域設置爲圓形區域並繪製稍小的圓形。 **♦**或者您可能想要使用[圓形單選按鈕列表](http://stackoverflow.com/a/38390028/3110834)。 –