5

TabControlの配置をに設定すると、タブLeftボタンRightとタブページ領域の間にこの大きなスペースが残ります。この無駄なスペースを取り除く方法は?

TabControl.Appearanceに設定すると、ボタンのテキストが消えるButtonsために設定されます。Normal

tabcontrol

更新:ボタンとボタンを逆に
設定TabControl.AlignmentするBottomと、オレンジ色の線が下に表示されます)TabControl.AppearanceNormal
タブコントロール

に設定TabControl.AlignmentするBottomTabControl.Appearance、コントロールを配置するButtons領域がありませんTabPage
ここに画像の説明を入力してください

4

2 に答える 2

5

これは、ネイティブ タブ コントロールの XP ビジュアル スタイルの実装に関するよく知られた問題であり、上部に配置されたタブのみが適切にレンダリングされます。このバグは、Windows 7 まで対処されていません。回避策は、スタイルを選択的にオフにすることです。プロジェクトに新しいクラスを追加し、以下に示すコードを貼り付けます。コンパイル。ツールボックスの上部から新しいコントロールをフォームにドロップし、配置プロパティを好みに合わせて変更します。それよりもきれいに見えることはありません。

using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;

class FixedTabControl : TabControl {

    protected override void OnHandleCreated(EventArgs e) {
        SetWindowTheme(this.Handle, "", "");
        base.OnHandleCreated(e);
    }

    [DllImportAttribute("uxtheme.dll")]
    private static extern int SetWindowTheme(IntPtr hWnd, string appname, string idlist);
}
于 2011-02-08T00:41:37.467 に答える