WindowsFormsHost 컨트롤을 사용하여 Windows.Forms 컨트롤을 호스팅하는 WPF 응용 프로그램이 있습니다.WindowsFormsHost의 MouseWheel 이벤트
MouseWheel 이벤트를 구현하려고 시도했지만 MouseWheel 이벤트가 실행되지 않은 것처럼 보입니다.
이 문제의 해결 방법이 있습니까?
WindowsFormsHost 컨트롤을 사용하여 Windows.Forms 컨트롤을 호스팅하는 WPF 응용 프로그램이 있습니다.WindowsFormsHost의 MouseWheel 이벤트
MouseWheel 이벤트를 구현하려고 시도했지만 MouseWheel 이벤트가 실행되지 않은 것처럼 보입니다.
이 문제의 해결 방법이 있습니까?
해결 방법은 MouseEnter 이벤트를 사용하는 것입니다.
은 ..... 당신은 C#을System.Windows.Forms.Label label = new System.Windows.Forms.Label();
label.Text = "Hallo";`
label.MouseEnter += new EventHandler(label_MouseEnter);
label.MouseWheel += new System.Windows.Forms.MouseEventHandler(label_MouseWheel);
windowsFormsHost1.Child = label;
에서 XAML
<WindowsFormsHost Height="100" Name="windowsFormsHost1" Width="200" />
에서 WindowsFormHost
에서의 WinForm 레이블이 가정
void label_MouseEnter(object sender, EventArgs e)
{
(sender as System.Windows.Forms.Label).Focus();
}
void label_MouseWheel(object sender, System.Windows.Forms.MouseEventArgs e)
{
(sender as System.Windows.Forms.Label).BackColor = System.Drawing.Color.Red;
}
이제 MouseWheel이 작동해야합니다 (레이블 변경 색상 변경)
한 가지 더 추가 할 것입니다 ... WindowsFormsHost의 하위 요소가 Windows.Forms 요소 인 경우이 링크가 도움이됩니다.
http://vastpark-svn.cvsdude.com/public/trunk/src/Sample.Client/WPFInputSource.cs
왜 메신저 게시 나는 해결책을 찾고 발견 .. 그래서 난이 미래에 도움이되는 사람이 될 거라고 생각하고 있습니다. 어쨌든 먼저 여기에 물어봐 줘서 고마워. ^^
마우스 휠을 사용하기 전에 먼저 컨트롤을 집중 시키려고 했습니까? –
나는 이해하지 못합니까? 나는 그것을 어디에 두어야합니까? c'tor에? WindowsFormsHost가로드 되었습니까? - 약간의 코드를 제공 할 수 있습니까? –