Свопинг левой и правой кнопки мыши в.NET

Lb3_TextChanged никогда не может быть вызвано, поскольку вы не меняете текст метки Я бы предложил изменить его на приватный метод, а не на обработчик событий. Вот как может выглядеть код:

    private void TX1_TextChanged(object sender, EventArgs e)
    {
        try
        {
            int sumF;
            sumF = Convert.ToInt32(Lb1PriceF.Text) * Convert.ToInt32(TX1.Text);
            Lb1SumF.Text = Convert.ToString(sumF); //Label1 sum

            // Call to update sum
            UpdateSum();
        }
        catch
        {
            Lb1SumF.Text = "0";
        }
    }

    private void TX2_TextChanged(object sender, EventArgs e)
    {
        try
        {
            int sumF;
            sumF = Convert.ToInt32(Lb2PriceF.Text) * Convert.ToInt32(TX2.Text);
            Lb2SumF.Text = Convert.ToString(sumF); //Label2 sum

            // Call to update sum
            UpdateSum();
        }
        catch
        {
            Lb2SumF.Text = "0";
        }
    }

    // private void Lb3_TextChanged(object sender, EventArgs e)
    private void UpdateSum()
    {
           int sum = 0;

           if(!string.IsNullOrEmpty(Lb1SumF.Text) && !string.IsNullOrEmpty(Lb2SumF.Text))
           {
              sum = Convert.ToInt32(Lb1SumF.Text) + Convert.ToInt32(Lb2SumF.Text);
           }

           Lb3.Text = Convert.ToString(sum);
    }
7
задан Eugene Katz 17 March 2009 в 12:19
поделиться

3 ответа

Можно использовать Windows API call для SwapMouseButton:

using System.Runtime.InteropServices;

// ...

[DllImport("user32.dll")]
public static extern Int32 SwapMouseButton(Int32 bSwap);

// ...

// Swap it.
SwapMouseButton(1); 

// Back to normal.
SwapMouseButton(0); 
13
ответ дан 6 December 2019 в 11:53
поделиться

Что-то вроде этого:

using Microsoft.Win32;

var key = Registry.CurrentUser.CreateSubKey("Control Panel\\Mouse\\");
var newValue = key.GetValue("SwapMouseButtons");

if (newValue == null) newValue = "1";
else                  newValue = Int32.Parse(newValue) == 1 ? "0" : "1";

key.SetValue("SwapMouseButtons", newValue, RegistryValueKind.String);
3
ответ дан 6 December 2019 в 11:53
поделиться

Вот фрагмент кода, который делает это.

1
ответ дан 6 December 2019 в 11:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: