- - PR -
Labelコンポーネントでのマイナス記号の表示
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-01-07 20:23
いつもお世話になっております。
現在、VB.NETでWindowsアプリケーションを開発しております。 <環境> OS: WIN2000 Framework: .NET Framework 1.0 SP2 この環境で Label △ | BlackLabel △ | BlackNumberLabel でコンポーネントを作成しています。(継承関係) BlackLabelでは、背景色、文字色、フォントを変更しています。 BlackNumberLabelでは、intValueというプロパティを追加しております。 --<下記、intValueプロパティ>-- Public Property intValue() As Integer Get 'カンマを削除する Dim cutComma As String = Replace(Me.Text, ",", "") '***入力制御 If (IsNumeric(cutComma)) Then Return CInt(cutComma) Else Return 0 End If End Get Set(ByVal Value As Integer) If Value < 0 Then Value = Value * (-1) MyBase.Text = "-" + Value.ToString("###,##0") Else MyBase.Text = Value.ToString("###,##0") End If End Set End Property --<以上>-- ここで、intValueに対してマイナスの値を設定するとマイナスの記号が後ろに 表示されます。 例)「-999999」を設定 ↓ 「999,999-」と表示される ちなみにデバッグモードで問題の箇所をトレースし、ウオッチ式で見ると「-999,999」と なっています。(それでも画面に表示されるのは「999,999-」) ただ、Labelに対して下記のコードで値を設定した場合はマイナスの記号が先頭 に表示されます。(正常な動き) Dim Label1 AS Label = new Label() Label1.Text = "-" + String.Format("{0:#,##0}", Value) どなたか情報をお持ちの方はいらっしゃいますでしょうか? | ||||
|
投稿日時: 2005-01-07 23:43
諸農です。
.NET v1.1の環境なので参考にならないかもしれないですが、 次のコードで作成したクラスをC#プロジェクトで利用したところ 問題なく表示できました。
_________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||
|
投稿日時: 2005-01-08 19:43
2000ではどうだったかわかりませんが、コントロールパネルの「地域のオプション」に、「数値」をカスタマイズするタブがないでしょうか。XPでは
「地域と言語のオプション」→「地域オプション」タブ→「カスタマイズ」ボタン→「数値」タブ になります。ここに、「負の値の形式」というのがあって、ここで"999-"とか"-999"とかに変更することができます。 _________________ | ||||
|
投稿日時: 2005-01-08 23:30
Jubeiさん、Jittaさんありがとうございます。
Jittaさんの仰る通り、地域オプションが関連しているのではないかと 考えたのですが、「負の値の形式:-999」となっておりました。 ただ、LabelのTextに値を設定しているだけなので、地域オプションが 関係しているとは考えずらいです。 更に色々なパターンを試してみました。 例)MyBase.Text = Value.ToString("###,##0") + '-' ↓ 「-999,999」と表示される 例)MyBase.Text = Value.ToString("###,##0") + '\-' ↓ 「\-999,999」と表示される 例)MyBase.Text = Value.ToString("###,##0") + '-\' ↓ 「-\999,999」と表示される 例)MyBase.Text = 'XXX' + Value.ToString("###,##0") ↓ 「XXX999,999」と表示される | ||||
|
投稿日時: 2005-01-09 09:00
諸農です。
1.Me.Textと指定した場合はどうなりますか? 2.別途用意したstring変数に一度格納した場合の内容はどうなりますか? 3.Value.ToString()ではなくString.Format()を使った場合はどうなりますか? _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ |
1