C # tabcontrol пограничный контроль - PullRequest
2 голосов
/ 02 апреля 2010

Возможно ли сделать границу tabcontrol прозрачной или установить цвет tabcontrol?

  • Winforms

1 Ответ

5 голосов
/ 10 августа 2011

Если кто-то сталкивается с той же проблемой, вот ответ работал для меня Граница TabControl

Как это описывает, Создайте объект NativeTabControl и назначьте дескриптор tabControl, для которого вы хотите удалить границу. Вы можете использовать этот класс NativeTabControl как внутренний класс в классе формы. Вам не нужно ничего менять внутри класса. Просто следуйте инструкциям выше. Все кредиты должны быть отправлены на оригинальный дизайнер кода. Я просто помещаю это здесь для любого, кто встречает ту же самую проблему и нуждается в хорошем и сексуальном ответе!

using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Windows.Forms;

public class Form1
{


public Form1()
{
    // This call is required by the Windows Form Designer.
    InitializeComponent();

    // Add any initialization after the InitializeComponent() call.
    this.NativeTabControl1 = new NativeTabControl();
    this.NativeTabControl2 = new NativeTabControl();
    this.NativeTabControl1.AssignHandle(this.TabControl1.Handle);
    this.NativeTabControl2.AssignHandle(this.TabControl2.Handle);
}

private NativeTabControl NativeTabControl1;

private NativeTabControl NativeTabControl2;
private class NativeTabControl : NativeWindow
{

    protected override void WndProc(ref Message m)
    {
        if ((m.Msg == TCM_ADJUSTRECT)) {
            RECT rc = (RECT)m.GetLParam(typeof(RECT));
            //Adjust these values to suit, dependant upon Appearance
            rc.Left -= 3;
            rc.Right += 3;
            rc.Top -= 3;
            rc.Bottom += 3;
            Marshal.StructureToPtr(rc, m.LParam, true);
        }
        base.WndProc(ref m);
    }

    private const Int32 TCM_FIRST = 0x1300;
    private const Int32 TCM_ADJUSTRECT = (TCM_FIRST + 40);
    private struct RECT
    {
        public Int32 Left;
        public Int32 Top;
        public Int32 Right;
        public Int32 Bottom;
    }

}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...