嗨我正在製作Windows窗體應用程序 我在該應用程序中添加了用戶控件 有沒有辦法禁用右鍵單擊事件。 因爲如果我使用禁用右鍵單擊Win窗體應用程序
Button.click += SomeMethod
這是要在的someMethod兩個(左和右)的點擊情況。 我只想在左鍵單擊的情況下執行此操作。
嗨我正在製作Windows窗體應用程序 我在該應用程序中添加了用戶控件 有沒有辦法禁用右鍵單擊事件。 因爲如果我使用禁用右鍵單擊Win窗體應用程序
Button.click += SomeMethod
這是要在的someMethod兩個(左和右)的點擊情況。 我只想在左鍵單擊的情況下執行此操作。
你能不能處理被點擊事件的內部哪個按鈕呢?
private void uc_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{
//more logic here
}
}
您可以檢測到在事件處理程序中單擊了哪個鼠標按鈕。
檢查MouseEventArgs e參數處理
您可以檢查按鈕並調用本機onClick以查看左鍵單擊的情況。
[僞代碼]
SomeMethod(e){
if (e.Button == left){
control.onClick(e);
}
}
你可以做的方式號碼;
1)如果你想用你的button.click事件然後做下面的代碼:
Button.Click += SomeMethod;
private void SomeMethod(object sender, EventArgs e)
{
System.Windows.Forms.Button bt = sender as System.Windows.Forms.Button;
if (bt != null)
{
if (bt.Equals(System.Windows.Forms.MouseButtons.Left))
{
// do something;
}
}
}
2)或Windows使用鼠標點擊事件,形成「button.MouseClick」。
Button.MouseClick += SomeMethod;
private void SomeMethod(object sender, MouseEventArgs e)
{
if (!e.Button.Equals(System.Windows.Forms.MouseButtons.Right))
{
// do work
}
}
我希望我們可以使用e.Handled =真實的,但在這種情況下,無論是事件的說法有Handled屬性,因此,你必須手動檢查。