Re: changing backcolor of tabcontrol

Tech-Archive recommends: Fix windows errors by optimizing your registry

From: Paiam Salavati (paiam.salavati_at_skillworks.de)
Date: 06/01/04


Date: Tue, 1 Jun 2004 09:36:16 +0200

the problem is, that if I want to override the onPaint-method, I have to set
the user-Bite for user-controlled-painting like this:
this.SetStyle(System.Windows.Forms.ControlStyles.UserPaint, true);

If I did so, it seems that the DrawItem-Event will not be fired any more, so
that the tabs of my tabControl won't be visible. They still exist because I
can switch the TabPages, but they have the same color as I set it for my
TabControl.

If I don't set the user-bite in the described way the Color of my TabControl
won't be changed.

I don't know how to solve this problem. Maybe I have to throw the
DrawItem-Event for myself, but where and in which way?

"Robert Gruen [MSFT]" <robgruen@online.microsoft.com> schrieb im Newsbeitrag
news:4ziVlUAREHA.3468@cpmsftngxa10.phx.gbl...
> Most folks shy away from painting their own control and typically get a
tab
> control that supports this from a 3rd party vendor. However to answer
your
> question just override the paint event for the individual tab page. I
> tested it quickly and it worked without any problems.
>
> Rectangle rectangle = new Rectangle(0, 0, tabPage1.Width,
> tabPage1.Height);
> SolidBrush brush = new SolidBrush(Color.YellowGreen);
>
> e.Graphics.FillRectangle(brush, rectangle);
>
> Of course by painting the tabpage the actual tabs don't change color so
> you'll have to change those to be ownerdrawn. You can draw those with
> something simple like:
>
> private void tabControl1_DrawItem(object sender,
> System.Windows.Forms.DrawItemEventArgs e)
> {
> Graphics g = e.Graphics;
> Rectangle myTabRect = tabControl1.GetTabRect(0);
> SolidBrush b = new SolidBrush(Color.Blue);
> g.FillRectangle(b, myTabRect);
> }
>
>
> Thanks! Robert Gruen - http://blogs.msdn.com/robgruen
> Microsoft, VB.NET
>
> This posting is provided "AS IS", with no warranties, and confers no
rights.
> --------------------
> #From: "Paiam Salavati" <paiam.salavati@skillworks.de>
> #Newsgroups: microsoft.public.dotnet.framework.windowsforms.designtime
> #Subject: changing backcolor of tabcontrol
> #Date: Tue, 25 May 2004 09:51:37 +0200
> #Lines: 24
> #Message-ID: <2hgc80Fcifa8U1@uni-berlin.de>
> #X-Trace: news.uni-berlin.de
> tKqso5pc+prHKrikLU4blwib8p4LObxgimBBOJlpbNJJwgGcET
> #X-Priority: 3
> #X-MSMail-Priority: Normal
> #X-Newsreader: Microsoft Outlook Express 6.00.2800.1409
> #X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1409
> #Path:
>
cpmsftngxa10.phx.gbl!TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!newsfeed00.s
>
ul.t-online.de!t-online.de!newsfeed.freenet.de!fu-berlin.de!uni-berlin.de!no
> t-for-mail
> #Xref: cpmsftngxa10.phx.gbl
> microsoft.public.dotnet.framework.windowsforms.designtime:4681
> #X-Tomcat-NG: microsoft.public.dotnet.framework.windowsforms.designtime
> #
> #I have to change the BackColor of a TabControl.
> #
> #therefore I have overriden the onPaint-Method of TabControl like this:
> #
> #Rectangle rectangle = new Rectangle(0, 0, this.Width, this.Height);
> #SolidBrush brush = new SolidBrush(Color.YellowGreen);
> #
> #e.Graphics.FillRectangle(brush, rectangle);
> #
> #
> #
> #
> #the problem is now, that the tabs in my TabControl are not visible
anymore,
> #because they have also the color YellowGreen.
> #
> #How can I make the tabs of my TabControl visible or how can I change
their
> #color?
> #
> #does anybody have some experience with that kind of problem?
> #
> #Any help will be greatly appreciated....
> #
> #
> #
> #
>



Relevant Pages

  • changing BackColor of TabControl
    ... I have to change the BackColor of the unused part to the right of the tabs ... therefore I have overriden the onPaint-Method of TabControl like this: ... protected override void OnPaint ...
    (microsoft.public.dotnet.framework)
  • changing BackColor of TabControl
    ... I have to change the BackColor of the unused part to the right of the tabs ... therefore I have overriden the onPaint-Method of TabControl like this: ... protected override void OnPaint ...
    (microsoft.public.dotnet.framework.windowsforms)
  • changing BackColor of TabControl
    ... I have to change the BackColor of the unused part to the right of the tabs ... therefore I have overriden the onPaint-Method of TabControl like this: ... protected override void OnPaint ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Sharing a component across multiple tabs
    ... how about making a tab control that is only as tall as the tabs themselves.. ... I have to use the TabControl - our users expect it as a result ... TabControl next to the data panel, but make it look as if it is the ...
    (microsoft.public.dotnet.framework.windowsforms)
  • Re: TabControl question.
    ... Tabs to go in it, ... I would create in designed a single TabControl containing ALL ... would initialize 3 arrays of TabPages. ... You must declare the array as ...
    (microsoft.public.dotnet.languages.csharp)