a、一種是使用windows api:
先建立乙個專案演示一下
選擇窗體的屬性formborderstyle設定為 none
開啟窗體**
//需新增using system.runtime.interopservices;
選擇窗體的滑鼠按下事件
並加入下列**:
[dllimport("user32.dll")]
public static extern bool releasecapture();
[dllimport("user32.dll")]
public static extern bool sendmessage(intptr hwnd, int wmsg, int wparam, int lparam);
//......
private void form1_mousedown(object sender, mouseeventargs e)
}
然後生成一下專案即可實現窗體移動;
這個方法,使用的話拖動效果和正常視窗拖動效果差不多,但是一句releasecapture()就使視窗的某些mouse事件無法響應。比如mouseclick。有時候是不能忍的。
b、第二種方法是在窗體幾個mouse事件中共同實現;
如下圖:
具體**實現如下:
#region c#無邊框移動窗體第二種方式
bool beginmove = false;//初始化
int currentxposition;
int currentyposition;
#endregion
private void form1_mousedown(object sender, mouseeventargs e)
#endregion
}private void form1_mousemove(object sender, mouseeventargs e)
#endregion
}private void form1_mouseup(object sender, mouseeventargs e)
#endregion
}
這種方法在c#中比較正規(不用呼叫api了)。
缺點是,還得多加一些方法優化視窗移動效果。
兩種方式實現checkBox readonly功能
今天在做開發的時候遇到了這樣乙個問題 有乙個checkbox選項是不能被改變的。但是checkbox又是沒有readonly屬性的,這個時候我就想到了另外乙個屬性disabled,但是disabled的物件是不能提交到後台的,所以這個又被排除掉了。想了想,只能新增事件來搞定了。於是在checkbox...
TabHost兩種實現方式
第一種 繼承tabactivity,從tabactivity中用gettabhost 方法獲取tabhost。只要定義具體tab內容布局就行了.package com.example.testtabhost import android.os.bundle import android.view.l...
兩種方式實現checkBox readonly功能
今天在做開發的時候遇到了這樣乙個問題 有乙個checkbox選項是不能被改變的。但是checkbox又是沒有readonly屬性的,這個時候我就想到了另外乙個屬性disabled,但是disabled的物件是不能提交到後台的,所以這個又被排除掉了。想了想,只能新增事件來搞定了。於是在checkbox...