在c#中如何使窗體位於最底層呢?這裡要用到winapi函式,我們要通過引用dll檔案的形式來進行操作,這裡的dll檔案是自己用vc6.0編譯的,我們無法在引用裡加入我們的dll檔案,只能通過新增現有檔案的方法,我們把dll檔案放在根目錄裡。
下面是源**:
using system;
using system.collections.generic;
using system.componentmodel;
using system.data;
using system.drawing;
using system.linq;
using system.text;
using system.windows.forms;
using system.runtime.interopservices;//使用winapi
//author: abrahu
namespace setwindowbackmost
[dllimport("../../windowbackdesktop_dll.dll")]
protected static extern void setlparam(int msg, intptr lparam);
protected override void wndproc(ref message m)
}}我們在vc6.0裡將下面的**編譯成dll檔案。編譯原始檔.cpp的原始碼如下:
#include
extern "c" __declspec(dllexport) void setlparam(uint msg,lparam lparam){
if (msg==wm_windowposchanging)
((lpwindowpos)lparam)->hwndinsertafter=hwnd_bottom;
我們在c#檔案裡的[dllimport("../../windowbackdesktop_dll.dll")]因為我們把dll檔案放在的根目錄所以是這個路徑,我們可以直接把它放在bin資料夾的debug裡面,就可以直接寫成[dllimport("windowbackdesktop_dll.dll")]
c 設定窗體位置
第一次執行windows窗體時,窗體一般都有乙個預設的顯示位置,一般由屬性startposition指定。常用屬性 1 centerparent 窗體在其父窗體中居中 2 centerscreen 窗體在當前顯示窗體 中居中,尺寸在窗體大小中指定 3 manual 窗體的位置由location屬性確...
C 設定彈出窗體位置
一 c 中彈出視窗位置 加入命名空間 using system.drawing using system.windows.forms 假定視窗名為form1,則 窗體位置在螢幕中間 form1.startposition formstartposition.centerscreen 窗體在其父視窗中...
c 窗體位置任意調
發現窗體的位置只能通過startposition屬性設定,而這個屬性只提供了5種位置選項,很不夠!今天在網上找到了乙個解決的方法,如下 int x system.windows.forms.screen.primaryscreen.workingarea.size.width 2 int y sys...