Wie ktoś, dlaczego gdy dodam do WF w Visual Studio C# to:
using System.Windows.Input;
to wywala mi błędy z Error KeyEventArgs, a mianowicie
Error 1 'KeyEventArgs' is an ambiguous reference between 'System.Windows.Forms.KeyEventArgs' and 'System.Windows.Input.KeyEventArgs' C:\Users\Michał\Documents\Visual Studio 2010\Projects\key preview\key preview\Form1.cs 29 51 key preview
?
W aplikacji wykorzystuje blokowanie przycisków za pomocą
public event KeyPressEventHandler KeyUp;
gkh.HookedKeys.Add(Keys.X);
gkh.HookedKeys.Add(Keys.Y);
gkh.KeyDown += new KeyEventHandler(gkh_KeyDown);
gkh.KeyUp += new KeyEventHandler(gkh_KeyUp);
void gkh_KeyUp(object sender, KeyEventArgs e) {
if (a == 1)
{
e.Handled = true;
//wyłącza przyciski X i Y (wybrane kilka linijek wyżej)
}
i chce zbindować to wyłączenie przycisku pod inny przycisk za pomocą:
private void Form1_Load(object sender, EventArgs e)
{
Thread TH = new Thread(Keyboardd);
TH.SetApartmentState(ApartmentState.STA);
CheckForIllegalCrossThreadCalls = false;
TH.Start();
gkh.HookedKeys.Add(Keys.A);
gkh.HookedKeys.Add(Keys.B);
}
void Keyboardd()
{
bool isRunning = true;
while (isRunning)
{
Thread.Sleep(40);
if ((Keyboard.GetKeyStates(Key.LeftAlt) & KeyStates.Down) > 0)
//gdy kliknieto przycsik Lewy Alt, to zmien a na = 1, aby wyłączyć przyciski X i Y w skrypcie powyżej
{
a = 1;
}
else
{
a = 0;
}
}
}
ale nie mogę tego połączyć, bo to drugie wymaga właśnie tego "using System.Windows.Input;", które powoduje błąd w tym pierwszym.