使径向设备(Surface Dial)在开始时自动选择Winform

时间:2017-09-11 06:01:45

标签: c# .net winforms events

我正在使用GitHub中的this。我们可以轻松添加径向设备菜单,如下所示

using System;
using Windows.UI.Input;

namespace RadialControllerWinForms
{
   public partial class Form1 : Form
   {
      RadialController radialController;

      private void CreateController_and_menu()
      {            
        IRadialControllerInterop interop = (IRadialControllerInterop)System.Runtime.InteropServices.WindowsRuntime.WindowsRuntimeMarshal.GetActivationFactory(typeof(RadialController));
        Guid guid = typeof(RadialController).GetInterface("IRadialController").GUID;    
        radialController = interop.CreateForWindow(this.Handle, ref guid); 

        radialController.Menu.Items.Add(RadialControllerMenuItem.CreateFromKnownIcon("Ruler", RadialControllerMenuKnownIcon.Ruler));
      }   
   }
}

这很好用,我可以使用表面刻度盘在winform中捕捉表面刻度盘的输入。但是每当winform开始时,我都需要从表面刻度盘的菜单中选择winform("标尺")。
我们可以自动选择"标尺"没有选择表面刻度盘的菜单?
以某种方式获得关注'表单加载事件中的设备

1 个答案:

答案 0 :(得分:1)

是的,你可以轻松地做到这一点。见下面的一行:

radialController.Menu.SelectMenuItem(radialController.Menu[index_of_ruler_in_the_menu]);

例如,如果您的标尺是radialController.Menu中的最后一个元素,那么您可以按如下方式获取其索引:

int index_of_ruler_in_the_menu = radialController.Menu.Items.Count - 1;