这种控件,效果,怎么实现的? 效果类似 tabControl 每个tabpage 是一张图片, 整个控件看上去没有那种3D 效果, tabpage就象图片框插入的图片一样```只是选种后有边框,还有怎么去掉tabControl 的3D边框???我插入图片后,看上去每个tabpage象一个个按纽似的,太丑,怎么实现上面那效果期待..... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 关注DotnetBar应该可以,你试试。 可以使用javascript里面的tabbox<script>var tabbox1=new TabBox("tab1")tabbox1.addtab("p1","tab页面1",0)tabbox1.addtab("p2","tab页面2")</script>其中的p1、p2可以对应DIV或者是table的ID 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;namespace WindowsFormsApplication63{ public partial class Form1 : Form { public Form1() { InitializeComponent(); TabControlEx TC = new TabControlEx(); TC.Parent = this; TC.DrawMode = TabDrawMode.OwnerDrawFixed; TC.Dock = DockStyle.Fill; TC.HotTrack = false; TC.ItemSize = new Size(100, 50); TC.Appearance = TabAppearance.FlatButtons; TC.SizeMode = TabSizeMode.Fixed; TC.DrawItem += new DrawItemEventHandler(TC_DrawItem); TabPage TP1 = new TabPage(); TP1.Parent = TC; TP1.BackColor = Color.Yellow; TP1.BorderStyle = BorderStyle.FixedSingle; TabPage TP2 = new TabPage(); TP2.Parent = TC; TP2.BackColor = Color.Yellow; TP2.BorderStyle = BorderStyle.FixedSingle; } void TC_DrawItem(object sender, DrawItemEventArgs e) { TabControl TC = (TabControl)sender; if (e.State == DrawItemState.Selected) e.Graphics.FillRectangle(Brushes.LightBlue , TC.GetTabRect(e.Index)); else e.DrawBackground(); e.Graphics.FillPie(e.Index == 0 ? Brushes.Red : Brushes.Green, new Rectangle(e.Bounds.Left + 10, e.Bounds.Top + 10, 30, 30), 0, 270); } class TabControlEx : TabControl { static int GWL_STYLE = -16; static int WS_CHILD = 0x40000000; static int WS_CLIPCHILDREN = 0x02000000; static int TCS_FOCUSNEVER = 0x800; static int WS_VISIBLE = 0x10000000; static int NOT_TCS_HOTTRACK = -65; static int TCS_FOCUSONBUTTONDOWN = 0x1000; protected override CreateParams CreateParams { get { CreateParams CP = base.CreateParams; // TCS_FOCUSNEVER 让标签不接受焦点,不过不知道为什么好像没用 CP.Style = CP.Style | TCS_FOCUSNEVER; return CP; } } } }} 修改 boardStyle 为single borad 边框 好象拼写错了.. 求一个 数据剔除的 正则表达式,望高手指教~ 如何在C#里设置stack 默认大小 关于winform中datagirdview的问题 结构体定义颜色的问题 请教一个页面刷新问题 网上抓数据的功能 请教C#连接使用MYSQL的详细方法和步骤.解决立刻给分~~ 不能打包 送分来了!请问C#如何开发Visio插件哦 为什么会这样 求个asp.net gridview 导出excel的源码 GZip解压后,反序列化DataTable的问题
DotnetBar应该可以,你试试。
var tabbox1=new TabBox("tab1")
tabbox1.addtab("p1","tab页面1",0)
tabbox1.addtab("p2","tab页面2")</script>
其中的p1、p2可以对应DIV或者是table的ID
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;namespace WindowsFormsApplication63
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent(); TabControlEx TC = new TabControlEx();
TC.Parent = this;
TC.DrawMode = TabDrawMode.OwnerDrawFixed;
TC.Dock = DockStyle.Fill;
TC.HotTrack = false;
TC.ItemSize = new Size(100, 50);
TC.Appearance = TabAppearance.FlatButtons;
TC.SizeMode = TabSizeMode.Fixed;
TC.DrawItem += new DrawItemEventHandler(TC_DrawItem); TabPage TP1 = new TabPage();
TP1.Parent = TC;
TP1.BackColor = Color.Yellow;
TP1.BorderStyle = BorderStyle.FixedSingle; TabPage TP2 = new TabPage();
TP2.Parent = TC;
TP2.BackColor = Color.Yellow;
TP2.BorderStyle = BorderStyle.FixedSingle;
} void TC_DrawItem(object sender, DrawItemEventArgs e)
{
TabControl TC = (TabControl)sender; if (e.State == DrawItemState.Selected)
e.Graphics.FillRectangle(Brushes.LightBlue , TC.GetTabRect(e.Index));
else
e.DrawBackground();
e.Graphics.FillPie(e.Index == 0 ? Brushes.Red : Brushes.Green,
new Rectangle(e.Bounds.Left + 10, e.Bounds.Top + 10, 30, 30), 0, 270);
}
class TabControlEx : TabControl
{
static int GWL_STYLE = -16;
static int WS_CHILD = 0x40000000;
static int WS_CLIPCHILDREN = 0x02000000;
static int TCS_FOCUSNEVER = 0x800;
static int WS_VISIBLE = 0x10000000;
static int NOT_TCS_HOTTRACK = -65;
static int TCS_FOCUSONBUTTONDOWN = 0x1000; protected override CreateParams CreateParams
{
get
{
CreateParams CP = base.CreateParams;
// TCS_FOCUSNEVER 让标签不接受焦点,不过不知道为什么好像没用
CP.Style = CP.Style | TCS_FOCUSNEVER;
return CP;
}
}
}
}
}
borad 边框 好象拼写错了..