コード例 #1
0
 /// <summary>
 /// 将窗体置于最顶层而不获取焦点
 /// </summary>
 /// <param name="b">true最顶层,false非顶层</param>
 /// <param name="fAll">要操作的窗口的集合</param>
 public static void TopFormNoFocus(Boolean isTop, Form[] formArr)
 {
     // 判断传入的窗体集合为null或大小为0
     if (formArr == null || 0.Equals(formArr.Length))
     {
         return;
     }
     // 遍历
     foreach (Form form in formArr)
     {
         // 判断窗体不为null或窗体没有被释放
         if (form != null && !form.IsDisposed)
         {
             // 判断是否要设置为顶层
             if (isTop)
             {
                 // 设为顶层
                 WindowsApiUtils.setFormTopNoFocus(true, form);
             }
             else
             {
                 // 判断当前前台窗口是否为要设置的窗口
                 if (form.TopLevel && !WindowsApiUtils.GetForegroundWindow().Equals(form.Handle))
                 {
                     // 将窗口设置为非顶层
                     WindowsApiUtils.setFormTopNoFocus(false, form);
                 }
             }
         }
     }
 }
コード例 #2
0
 /// <summary>
 /// 将窗体置于最顶层而不获取焦点
 /// </summary>
 /// <param name="b">true最顶层,false非顶层</param>
 /// <param name="f">要操作的窗口</param>
 public static void TopFormNoFocus(Boolean isTop, Form form)
 {
     if (form == null || form.IsDisposed)
     {
         return;
     }
     if (form != null)
     {
         if (isTop)
         {
             WindowsApiUtils.setFormTopNoFocus(true, form);
         }
         else
         {
             if (!WindowsApiUtils.GetForegroundWindow().Equals(form.Handle))
             {
                 WindowsApiUtils.setFormTopNoFocus(false, form);
             }
         }
     }
 }