- - PR -
BackColorのオーバーライドについて
| 投稿者 | 投稿内容 | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-10-02 14:46
Hasumiさん、なちゃさんご回答ありがとうございます。
なちゃさんへ >でも、Compact Framework だということははなももさん以外の人にはわからないわけで、 >こういった情報を書くことが必要になるということです。 ># もしこの情報がなければ、なぜ出来ないんだと皆首をかしげることになります。 ご意見はごもっともです。 自分の開発環境をどう説明したらいいのかわからず ⇒ 開発言語は Microsoft Visual Studio .NET 2003です。 ⇒ 今、私はプロジェクトを新規作成するときに、 「スマートデバイスアプリケーション」 ⇒ (Pocket PC およびリソースに制約のあるデバイス用の アプリケーションを ⇒ 作成するためのプロジェクト) を選択しています。 と書いたのでした。 今後は「開発言語は Microsoft Visual Studio .NET 2003(.NET Compact Framework)」 と書いたらわかっていただけるのでしょうか? >というわけで、えらそうで申し訳ないですが、このような情報を示すことが >重要なのだということを納得していただければと思います。 以後気をつけます。すみませんでした。 Hasumiさんへ >私はLabelをPanel内に配置してPanelのBackColorを変更して対処しました。 >panel1.Controls.Add(label1); >panel1.BackColor = System.Drawing.Color.Red; やはり.NET Compact Framework でのLabelのBackColorの設定は無理なのですね。 Hasumiさんの教えてくれた方法で試してみました。 ------------------------------------------ Public Class Form1 Inherits System.Windows.Forms.Form 'コントロールを作成 Friend WithEvents Panel1 As System.Windows.Forms.Panel Friend WithEvents Label1 As System.Windows.Forms.Label Private Sub Form1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Panel1 = New Panel Label1 = New Label Panel1.Location = New Point(146, 174) Panel1.Size = New Size(70, 30) Label1.Location = New Point(150, 178) Label1.Size = New Size(63, 17) Label1.Text = "ラベル1" Panel1.BackColor = System.Drawing.Color.Red End Sub End Class ------------------------------------------ というように書いてみました。 この方法で色をつけるのは可能ですが、 ラベルに文字を表示しているので文字が隠れてしまいますね・・ | ||||||||||||||||||||
|
投稿日時: 2003-10-02 15:13
Hasumiです。
[C#] panel1.Controls.Add(label1); [VB.NET] Panel1.Controls.Add(Label1) としてlabel1をpanel1コントロールのControl.ControlCollectionに 追加してください。 デザイナ上で行う場合は、まずパネルコントロールを 配置し、その中にラベルコントロールを配置します。 [ メッセージ編集済み 編集者: Hasumi 編集日時 2003-10-02 15:19 ] | ||||||||||||||||||||
|
投稿日時: 2003-10-02 15:32
Hasumiさんご回答ありがとうございます。
>[VB.NET] >Panel1.Controls.Add(Label1) > >としてlabel1をpanel1コントロールのControl.ControlCollectionに追加してください。 すみません。抜けてました ------------------------------------------ Public Class Form1 Inherits System.Windows.Forms.Form 'コントロールを作成 Friend WithEvents Panel1 As System.Windows.Forms.Panel Friend WithEvents Label1 As System.Windows.Forms.Label Private Sub Form1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Panel1 = New Panel Label1 = New Label Panel1.Location = New Point(146, 174) Panel1.Size = New Size(70, 30) Label1.Location = New Point(150, 178) Label1.Size = New Size(63, 17) Label1.Text = "ラベル1" Panel1.BackColor = System.Drawing.Color.Red Label1.BringToFront() Panel1.SendToBack() 'フォームにタブコントロールを追加 Me.Controls.Add(Panel1) Panel1.Controls.Add(Label1) End Sub End Class ------------------------------------------ というように書いてみましたがさきほどと同じく、 ラベルの文字がパネルに隠れて見えません。 | ||||||||||||||||||||
|
投稿日時: 2003-10-02 15:49
Hasumiです。
C#とVB.NETで違いがあるのかと思いVB.NETで確認してみました。 以下のコードできちんと動作しました。 (以下のコードはWindows フォーム デザイナで作成されたものです。)
また、
なちゃさんが指摘されているようにLabelのBackColorの設定は無理なように思えるのですが、
こちらではSupported by the .NET Compact Framework.となっています。 また、
が動作することからもLabelのBackColorはサポートされているように思われます。 しかし、見た目上は変化がありません。 なので
と書きました。これがバグなのかどうかは不明です。 [ メッセージ編集済み 編集者: Hasumi 編集日時 2003-10-02 15:53 ] [ メッセージ編集済み 編集者: Hasumi 編集日時 2003-10-02 15:55 ] | ||||||||||||||||||||
|
投稿日時: 2003-10-02 16:05
> 自分の開発環境をどう説明したらいいのかわからず
> ⇒ 開発言語は Microsoft Visual Studio .NET 2003です。 > ⇒ 今、私はプロジェクトを新規作成するときに、 「スマートデバイスアプリケーション」 > ⇒ (Pocket PC およびリソースに制約のあるデバイス用の アプリケーションを > ⇒ 作成するためのプロジェクト) を選択しています。 > と書いたのでした。 > 今後は「開発言語は Microsoft Visual Studio .NET 2003(.NET Compact Framework)」 > と書いたらわかっていただけるのでしょうか? ごめんなさい、あれを書いたのは、「今度質問などされるとき」は、最初にそういった情報や、ご自身がどういう考えでそうされたのか(あるいはその元ネタなど)を書くようにされると良いと思います、という意図で書きました。 ですので、決して「開発環境の説明の仕方がなっていない」などというつもりではありませんです。 | ||||||||||||||||||||
|
投稿日時: 2003-10-02 16:08
Hasumiさん、度々すみません。ご返答ありがとうございます
Hasumiさんが書いてくれたように、 >-------------------------------------------------------------------------------- >Private Sub InitializeComponent() > Me.MainMenu1 = New System.Windows.Forms.MainMenu > Me.Panel1 = New System.Windows.Forms.Panel > Me.Label1 = New System.Windows.Forms.Label > ' > 'Panel1 > ' > Me.Panel1.BackColor = System.Drawing.Color.Red > Me.Panel1.Controls.Add(Me.Label1) > Me.Panel1.Location = New System.Drawing.Point(96, 80) > Me.Panel1.Size = New System.Drawing.Size(104, 88) > ' > 'Label1 > ' > Me.Label1.Location = New System.Drawing.Point(24, 32) > Me.Label1.Size = New System.Drawing.Size(64, 24) > Me.Label1.Text = "Label1" > ' > 'Form1 > ' > Me.Controls.Add(Me.Panel1) > Me.Menu = Me.MainMenu1 > Me.Text = "Form1" >End Sub > >-------------------------------------------------------------------------------- と「Private Sub InitializeComponent()」の中に記述したら出来ました!!(^^) ※今までは「Private Sub Form1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 」の中に書いていました ほんとうにありがとうございました。助かりました。 またなにかありましたらご教授お願い致します。 | ||||||||||||||||||||
