中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

怎么使messagebox彈出后不獲取窗口焦點

小億
222
2023-08-07 20:00:44
欄目: 編程語言

要使MessageBox彈出后不獲取窗口焦點,可以通過以下兩種方法實現:

  1. 使用MessageBoxOptions參數:
MessageBox.Show("Message", "Title", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.NoFocus);

這里的MessageBoxOptions參數中的NoFocus選項可以阻止MessageBox獲取焦點。

  1. 使用Win32 API函數設置窗口樣式:
using System.Runtime.InteropServices;
public class MessageBoxHelper
{
[DllImport("user32.dll")]
public static extern IntPtr GetActiveWindow();
[DllImport("user32.dll")]
public static extern bool SetForegroundWindow(IntPtr hWnd);
[DllImport("user32.dll")]
public static extern int MessageBox(IntPtr hWnd, string text, string caption, int type);
public static void Show(string message, string caption)
{
IntPtr activeWindow = GetActiveWindow();
MessageBox(activeWindow, message, caption, 0);
SetForegroundWindow(activeWindow);
}
}

這里的MessageBoxHelper類使用了GetActiveWindow和SetForegroundWindow函數來獲取和恢復焦點。然后通過MessageBox函數彈出消息框,并在彈出后恢復焦點到之前的窗口。

使用這兩種方法中的任一種都可以實現MessageBox彈出后不獲取窗口焦點。

0
逊克县| 德兴市| 大城县| 永新县| 大英县| 来安县| 临夏县| 临湘市| 奉化市| 五指山市| 布拖县| 连江县| 大关县| 汾西县| 泗水县| 陕西省| 迭部县| 德令哈市| 庄河市| 阜新市| 苏尼特左旗| 泰州市| 合肥市| 东乡县| 溧水县| 乌兰县| 杂多县| 呈贡县| 奉化市| 巩留县| 东安县| 南昌县| 澄城县| 嵊州市| 荣昌县| 慈溪市| 夹江县| 山阳县| 鹰潭市| 宣汉县| 拉孜县|