プロフィール

since

Author:since
#kdH5CGMk


Skype: sekishin_cs 登録する際は自己紹介のメッセージを必ずご記入ください。
PlayStation Network: sekishin_ps
このブログについて:

プログラミングとかCFWとか音楽とかいろいろやってるブログ。
趣味:
ゲーム、パソコン、プログラミング(Visual C#)とか。
他サイトでの活動:
ニコニコ動画で「元の曲で再現してみたシリーズ」などの作品を投稿しています。
詳細については、下記のリンクをクリックしてください。
ニコニコ動画プロフィール
自分の作品リスト

カウンター
現在の閲覧者数
Twitter
フルみっく伝染歌プレーヤー

Powered by Re:Moto
月別アーカイブ
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

スポンサー広告 | 【--------(--) --:--:--】 | Trackback(-) | Comments(-)
TabPageコントロールでD&Dでのタブの並び替え/入れ替え
久しぶりのプログラミング記事。

.NETのTabPageコントロールではドラッグ&ドロップでのタブの並べ替え(入れ替え)をサポートしていません。
ですので、ドラッグ&ドロップで入れ替えできるようにしてみました。

※ご注意※
例外処理(try~catch)とかは省いてあります。使用の際は記述をした方がいいかもしれません。
テキトーに作ったので。


以下、実装方法。




実装方法

多分簡単な方。

1. TabControlをデザイナでフォームに張り付ける。
ここでのTabControlの名前は「tabControl1」とします。

2. TabControlのイベントハンドラ「MouseDown, MouseMove, MouseUp」を追加する。

3. Form のクラスに「TabPage型の変数」を用意しておく
(ここでは変数名を「movingTabPage」とする)。

4. MouseDownのイベントハンドラに以下のコードを記述する。

if (e.Button == MouseButtons.Left)
{
    for (int i = 0; i < tabControl1.TabCount; i++)
    {
        if (tabControl1.GetTabRect(i).Contains(e.X, e.Y))
        {
            movingTabPage = tabControl1.TabPages[i];
            break;
        }
    }
}

5. MouseMoveのイベントハンドラに以下のコードを記述する。
if (!(movingTabPage == null))
{
    for (int i = 0; i < tabControl1.TabCount; i++)
    {
        if (tabControl1.GetTabRect(i).Contains(e.X, e.Y))
        {
            if (tabControl1.TabPages[i] == movingTabPage) { break; }
            tabControl1.TabPages.Remove(movingTabPage);
            tabControl1.TabPages.Insert(i, movingTabPage);
            tabControl1.SelectedTab = movingTabPage;
            break;
        }
    }
}

6. MouseUpのイベントハンドラに以下のコードを記述する。
movingTabPage = null;

7. ビルドして実行。
プログラミング | 【2009-05-24(Sun) 19:50:22】 | Trackback:(1) | Comments:(0)
コメントの投稿
管理者にだけ表示を許可する

管理人の承認後に表示されます
【2013-04-09 Tue 12:53:48】 |
メニュー
C = カテゴリ
L = 最新

Home
せきしんのC#プログラミング
PSP C
│├プラグイン C
││└スクリーンショット撮影
│├カスタマイズ C
││├CFW M33 Update C
│││└5.00 M33
│││ ├5.00 M33-2
│││ ├5.00 M33-3
│││ ├5.00 M33-4
│││ ├5.00 M33-5
│││ └5.00 M33-6 L
│││  └1.50 Kernel
││├システムフォント変更
││├VSH MENU 使用方法
││├FWリンク集
││├ISO読み取り
││├ISO起動
││└ISO圧縮
│└PSP-3000
PCソフト C
 ├CamStudio New!
 ├携帯動画変換君
 └Web ブラウザ
  └Mozilla Firefox
   └Greasemonkey
リンク
カテゴリ
最新記事
最新コメント
最新トラックバック
検索フォーム
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。