.NET 解決TabControl 頁里面多余邊距問題經(jīng)驗(yàn)分享
更新時間:2012年04月04日 18:07:05 作者:
不知道各位同學(xué)有沒有遇到在向TabPage添加內(nèi)容后,里面的東西總是填不滿 TabPage,總是有幾個像素的空白邊距
以下是解決方法:
1.直接新建一個類,繼承TabControl,然后 override DisplayRectangle 方法:
/// <summary>
/// 解決系統(tǒng)TabControl多余邊距問題
/// </summary>
public class FullTabControl : TabControl {
public override Rectangle DisplayRectangle {
get {
Rectangle rect = base.DisplayRectangle;
return new Rectangle(rect.Left - 4, rect.Top - 4, rect.Width + 8, rect.Height + 7);
}
}
}
以后用 FullTabControl 就行。(這種方法簡單)
2.參見以下網(wǎng)址(VB.NET)代碼:
http://www.blueshop.com.tw/board/FUM20050124191756KKC/BRD201112281018075B8.html
C# 代碼為:
public class FullTabControl : NativeWindow {
static int TCM_FIRST = 0x1300;
static int TCM_ADJUSTRECT = (TCM_FIRST + 40);
struct RECT{
public int Left, Top, Right, Bottom;
}
protected override void WndProc(ref Message m) {
if (m.Msg == TCM_ADJUSTRECT) {
RECT rc = (RECT)m.GetLParam(typeof(RECT));
rc.Left -= 4;
rc.Right += 3;
rc.Top -= 4;
rc.Bottom += 3;
Marshal.StructureToPtr(rc, m.LParam, true);
}
base.WndProc(ref m);
}
}
調(diào)用方法:new FullTabControl().AssignHandle(tabControl1.Handle);// tabControl1為窗口上TabControl控件的名稱
版權(quán)聲明作者:夏榮全
郵箱:lyout(at)163.com
1.直接新建一個類,繼承TabControl,然后 override DisplayRectangle 方法:
復(fù)制代碼 代碼如下:
/// <summary>
/// 解決系統(tǒng)TabControl多余邊距問題
/// </summary>
public class FullTabControl : TabControl {
public override Rectangle DisplayRectangle {
get {
Rectangle rect = base.DisplayRectangle;
return new Rectangle(rect.Left - 4, rect.Top - 4, rect.Width + 8, rect.Height + 7);
}
}
}
以后用 FullTabControl 就行。(這種方法簡單)
2.參見以下網(wǎng)址(VB.NET)代碼:
http://www.blueshop.com.tw/board/FUM20050124191756KKC/BRD201112281018075B8.html
C# 代碼為:
復(fù)制代碼 代碼如下:
public class FullTabControl : NativeWindow {
static int TCM_FIRST = 0x1300;
static int TCM_ADJUSTRECT = (TCM_FIRST + 40);
struct RECT{
public int Left, Top, Right, Bottom;
}
protected override void WndProc(ref Message m) {
if (m.Msg == TCM_ADJUSTRECT) {
RECT rc = (RECT)m.GetLParam(typeof(RECT));
rc.Left -= 4;
rc.Right += 3;
rc.Top -= 4;
rc.Bottom += 3;
Marshal.StructureToPtr(rc, m.LParam, true);
}
base.WndProc(ref m);
}
}
調(diào)用方法:new FullTabControl().AssignHandle(tabControl1.Handle);// tabControl1為窗口上TabControl控件的名稱
版權(quán)聲明作者:夏榮全
郵箱:lyout(at)163.com
相關(guān)文章
ASP.NET?Core?6框架揭秘實(shí)例演示之如何承載你的后臺服務(wù)
這篇文章主要介紹了ASP.NET?Core?6框架揭秘實(shí)例演示之如何承載你的后臺服務(wù),主要包括利用承載服務(wù)收集性能指標(biāo)、依賴注入的應(yīng)用、配置選項(xiàng)的應(yīng)用等知識點(diǎn),本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-03-03ASP.NET Core程序發(fā)布到Linux生產(chǎn)環(huán)境詳解
這篇文章主要為大家詳細(xì)介紹了ASP.NET Core程序發(fā)布到Linux生產(chǎn)環(huán)境,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04Asp.net?core?使用SignalR推送消息過程詳解
ASP.NET?Core?SignalR?是一個開放源代碼庫,可用于簡化向應(yīng)用添加實(shí)時?Web?功能。?實(shí)時?Web?功能使服務(wù)器端代碼能夠?qū)?nèi)容推送到客戶端,本文重點(diǎn)給大家介紹Asp.net?core?使用SignalR推送消息,感興趣的朋友一起看看吧2022-03-03Global.asax的Application_Error實(shí)現(xiàn)錯誤記錄/錯誤日志的代碼
本文為大家介紹下利用Global.asax的Application_Error實(shí)現(xiàn)錯誤記錄,具體如下,有此需求的朋友可以參考下,希望對大家有所幫助2013-08-08asp.net用url重寫URLReWriter實(shí)現(xiàn)任意二級域名 新
最近有個朋友要做url重寫的東西,我?guī)退伺?回頭看當(dāng)年自己寫的那個文章,當(dāng)時以為自己寫的很容易理解.但現(xiàn)在再看卻覺得寫的不好.而今天百度了一下urlrewriter發(fā)現(xiàn)我這個文章竟然排第二.為了方便更多朋友,我再寫點(diǎn)東西補(bǔ)充下.2009-11-11ajaxpro.dll 控件實(shí)現(xiàn)異步刷新頁面
用ajaxpro.dll控件實(shí)現(xiàn)異步刷新頁面的代碼,需要的朋友可以參考下。2009-11-11