• 締切済み

C#でキャプションバーの色の指定がしたい

おわせになります. C#初心者です. 最近のi-Tunesのように、Windowsフォームの キャプションバー(タイトルバー)の色や 境界線の変更をするためにはどうすればよいのでしょうか? FormBorderStyleから、 キャプションバーを非表示にし、Panelなどを使用して、 独自にキャプションバーっぽいものを作る事は なんとなくイメージが付くのですが、 実際にC#でプログラム上から、 キャプションバーの色の設定はできませんか? 検索をかけても、的を得ているような、いないような ものしか見つける事ができなかったので、 質問させていただきました. よろしくお願い致します.

みんなの回答

回答No.1

Windowsシステムにおける設定色(システム・カラー)を表すSystemColorsクラス(System.Drawing名前空間)のActiveCaptionプロパティ(アクティブなウィンドウのタイトル・バーの背景の色)を変更するのでどうでしょうか? アクティブでなくなったときに、元の色に戻す等はどうでしょうか?

J2J
質問者

お礼

さっそく、ありがとうございます. ためしに、以下のように組んでみたのですが、 private void Form1_Activated(object sender, EventArgs e) { System.Drawing.SystemColors.ActiveCaption = System.Drawing.SystemColors.ButtonShadow; } 「System.Drawing.SystemColors.ActiveCaptionは、読み取り専用なので、割り当てる事はできません.」というエラーが出てきてしまうのですが…

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • C# タスク非表示でタイトルバーは表示する

    前略 ・C#の初心者です。 ・タスクバーは下記のプログラムで非表示とすることができますが、同時にタイトルバーも消えてしまいます。タスクバーは非表示で、右端に閉じる・最大化・最小化アイコン("X"、 "□"、"_")のないタイトルバーを表示したいのですが、その方法をおしえてください。 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; namespace noTaskbar { public partial class Form1 : Form { public Form1() { InitializeComponent(); this.FormBorderStyle = FormBorderStyle.None;//タイトルバー&タスクバー非表示 this.WindowState = FormWindowState.Maximized;// } } } 以上、よろしくお願いします

  • C#でFormのタイトルバーにボタンを追加したい

    お世話になります。 VS2008でC#のWindosフォームを使ったプログラムを開発しているのですが、 Formのタイトルバーにボタンを追加する方法を教えていただきたいです。 また、そのボタンをクリックされた場合のイベントの拾い方も教えていただけると大変助かります。 よろしくお願いします。

  • ダウンロードした「i-Tunes」関係の削除

    使ってみようとしてダウンロードしたけれど、ウインドウズのメディアプレーヤーで十分なので削除しようとし コントロールパネルの「プログラムの追加と削除」を開いたが どれだか判りません。ダウンロードしたものをすべて削除したいのです… ちなみに、エクスプローラーのプログラムファイルに「i-pod」「i-Tunes」があったので、削除しようとしたら、拒否されてしまった。

  • C#Windowsフォームアプリケーションについて

    C#Windowsフォームアプリケーションについての質問です。 どういうプログラムを組めばいいのかわかりません。おしえていただきたいです 詳細は画像を張りました。 よろしくお願いします 。

  • アクティブウインドウのタイトルバーの色を変えたい

    複数のウインドウを開いているとき、アクティブウインドウのタイトルバーの色を変えたいのですが、どうしてもうまくいきません。お助けください。 OSはWindows7からバージョンアップしたWindows10です。 添付は私のPCの下記レジストリの内容(イメージデータ)です。 [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\DWM] どうすれば良いか分かりませんでしょうか。

  • Visual C#・C++・BASIC 2008でジョイパッドを扱いた

    Visual C#・C++・BASIC 2008でジョイパッドを扱いたいのです。 DirectXやMFCなど色々やり方があると思いますが一番簡単な方法を 教えてください。Windowsフォームアプリでのプログラムでお願いします。 僕が検索で探したVisual C#でのDirectX SDKを使ったジョイパッドの プログラム方法はこのサイトです、参考までに。 http://techno-st.net/2008/04/24/visual-c.html Visual C# でジョイスティックを使ってみる。

  • CドライブからDドライブへ移行

    こんばんは Cドライブがいっぱいのときは Dドライブに移すことをここで教えていただきました。 やり方を教えて下さい。 初心者の質問で申し訳ありません。 Iチューンの曲を全てDドライブにいれようと思っています。 よろしくお願い致します。

  • DataGridViewで指定列の背景色の変更

    いつもお世話になっております。 C#の開発環境で、「DataGridView」を使用しているのですが、指定した列の色を変更するプログラムを作成しています。 現在、フォーム上に配置したDataGridView「dgvTable」のセルの列の背景色を、 「更新」ボタン押して変更するプログラムを作成しています。 ソースは以下の通りです。 for( int i = 0; i < selectCols; i++) { dgvTable.Columns.Add("col",""); dgvTable.Columns[i].DefaultCellStyle.BackColor = Color.LightGreen; } このループで背景色を変更したつもりでしたが、反映されませんでした。 変更する列の数は変動するので、フォームのロードイベントで変更することができません。 どのようにコードを書けば、背景色が反映されるかをご教授願えないでしょうか? よろしくお願いします。

  • 助けてください、SUPER(C)というソフトについて

    先日海外のメディアファイルを変換できるフリーソフトウェア、SUPER(C)というソフトをDLしました。 海外のソフトなのですべて英語、その上何度試してもエラーばかりなのでアンインストールしました。 後でよくよく調べてみると、SUPER(C)というソフトをアンインストールすると変なファイルをPCの中に残していくということがわかりました・・・。 C:\Program Files\AviSynth 2.5\plugins\ C:\Program Files\AviSynth 2.5\plugins\colors_rgb.avsi C:\Program Files\AviSynth 2.5\plugins\DirectShowSource.dll C:\Program Files\AviSynth 2.5\plugins\TCPDeliver.dll C:\Program Files\AviSynth 2.5 C:\WINDOWS\meta4.exe C:\WINDOWS\MOTA113.exe C:\WINDOWS\x2.64.exe C:\WINDOWS\system32\avisynth.dll C:\WINDOWS\system32\AVSredirect.dll C:\WINDOWS\system32\CoreAAC.ax C:\WINDOWS\system32\devil.dll C:\WINDOWS\system32\DiracSplitter.ax C:\WINDOWS\system32\i420vfw.dll C:\WINDOWS\system32\RLOgg.ax C:\WINDOWS\system32\RLSpeexDec.ax C:\WINDOWS\system32\RLTheoraDec.ax C:\WINDOWS\system32\RLVorbisDec.ax C:\WINDOWS\system32\Smab.dll C:\WINDOWS\system32\x.264.exe C:\WINDOWS\system32\yv12vfw.dll 某掲示板の書き込みによると以上のファイルを残すとのこと。 上から数えて8個目までの物は全て削除しました。 system32に含まれるものは怖かったのでそれに含まれるファイルはまだ放置したままです。 1.これら21個のファイルは全て削除してもいいのでしょうか? 2.SUPER(C)をインストール、アンインストールすることで受ける害は上の21個のファイルを残すことだけなのでしょうか? この2つのことについてどなたか教えてください。

  • C#のマルチスレッド処理について

    C#のWindowsフォームアプリケーションをつくっています。 .Netではマルチスレッド関連の選択肢がたくさんあるようですが、以下のようなユースケースではどんな組み合わせにするのがいいのでしょうか? UIとは別スレッドでネット接続してデータとってきたものをフォームに反映します。UIはブロックして欲しくなくて、ローディング中にはローディング中にアニメーションを表示したりします。 新スレッドを作って、その完了を待つことはできるんですが、その結果をどうフォームに反映するか、というところがよくわかりません。 C#は初心者なのでコード例やリンクをよろしくお願いいたします!