私はタッチモニターで作業する必要があります。マウスや通常のモニターで作業する必要があります。異なるイベントで同じコードを実行する方法
ドラッグのためにそうと
ます。private void lvAllowedPPtab2_StylusButtonDown(オブジェクト送信者、StylusButtonEventArgs e)のだろう最初のドロップ
と第二
ます。private void ListBox_PreviewMouseLeftButtonDownため
(オブジェクト送信者、MouseButtonEventArgs e)
その後、送信者とeを使用して同じコードを実行する必要があります。
私は共通のコードルーチンを作ることはできませんでした。 2つのイベントは似ており、どちらもGetPositionイベントを持っています。
私が間違って道をとっているかもしれないが、私のような何かに取り払われている:
Type eventType;
if (_e is StylusButtonEventArgs)
eventType = typeof (StylusButtonEventArgs);
else
eventType = typeof(MouseEventArgs);
が、その後、私はイベントの種類に電子をキャストする方法がわかりません。
は、あなたがその
private void listView_StylusButtonDown(object sender, StylusButtonEventArgs e) { CommonCode(sender, e); }
private void listView_PreviewMouseLeftButtonDown(object sender, MouseEventArgs e) { CommonCode(sender, e); }
でそれらの両方を呼び出してから、共通のコード内
private void CommonCode(object sender, object _e)
{
//Sender is common
ListView parent = (ListView)sender;
string strListViewButtonName = (sender as ListView).Name;
if (_e is StylusButtonEventArgs)
... (_e as StylusButtonEventArgs).GetPosition(parent));
else
... (_e as MouseEventArgs).GetPosition(parent));
}
より良い実装(イーライArbelのおかげで)伝えることができ、あなたに
する必要があります: '' if(_e is StylusButtonEventArgs) var eventargs = _e as StylusButtonEventArgs; '' –
このタイプは必要ありません。ちょうどそれをキャストし、あなたの位置を取得します。 – juharr
if文にvarを埋め込むことはできません – Luca