C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: ボタンをクリックする毎に表示を切り替えるには


(過去ログ 11 を表示中)

[トピック内 15 記事 (1 - 15 表示)]  << 0 >>

■2060 / inTopicNo.1)  ボタンをクリックする毎に表示を切り替えるには
  
□投稿者/ ゆう (6回)-(2007/03/16(Fri) 11:25:49)

分類:[VB.NET (Windows)] 

例えば、メートルとミリをボタンをクリック毎に切り替えて表示するような場合です。
テキストボックスに1000と入力してボタンをクリックすると、テキストボックスの表示が1に、
単位を表示するラベルがmになり、もう一度同じボタンをクリックするとテキストボックスが1000に、
ラベルがmmになるという具合です。
よろしくお願いします。
引用返信 編集キー/
■2061 / inTopicNo.2)  Re[1]: ボタンをクリックする毎に表示を切り替えるには
□投稿者/ επιστημη (439回)-(2007/03/16(Fri) 11:28:54)
επιστημη さんの Web サイト
で、どこが/なにがわかりませんか?

# 現在どっち(m/mm)モードにいるかを表す変数いっこ持って、
# そいつをボタン押すたびに切り替えればいいんじゃね?

引用返信 編集キー/
■2063 / inTopicNo.3)  Re[2]: ボタンをクリックする毎に表示を切り替えるには
□投稿者/ HiJun (17回)-(2007/03/16(Fri) 12:39:49)
if文で、次はmなのかmmなのかといった感じで条件判定をして下さい。

以上です。
引用返信 編集キー/
■2074 / inTopicNo.4)  Re[3]: ボタンをクリックする毎に表示を切り替えるには
□投稿者/ Jitta (290回)-(2007/03/16(Fri) 19:06:12)
No2063 (HiJun さん) に返信
> if文で、次はmなのかmmなのかといった感じで条件判定をして下さい。

静的にもっている bool flag にたいして、 flag=!flag とか。


社内規定で「禁じ手」だった
引用返信 編集キー/
■2075 / inTopicNo.5)  Re[4]: ボタンをクリックする毎に表示を切り替えるには
□投稿者/ Hirotow (72回)-(2007/03/16(Fri) 19:40:27)
Hirotow さんの Web サイト
No2074 (Jitta さん) に返信
> ■No2063 (HiJun さん) に返信
>>if文で、次はmなのかmmなのかといった感じで条件判定をして下さい。
> 
> 静的にもっている bool flag にたいして、 flag=!flag とか。
> 
> 
> 社内規定で「禁じ手」だった

引用返信 編集キー/
■2076 / inTopicNo.6)  Re[5]: ボタンをクリックする毎に表示を切り替えるには
□投稿者/ Hirotow (73回)-(2007/03/16(Fri) 19:50:31)
Hirotow さんの Web サイト
2007/03/16(Fri) 19:50:44 編集(投稿者)
↑ 投稿ミス&ノーパスワードにつき編集不可状態

たとえばこんな感じ。
VBは書けないのでC#で書きます。

列挙体を定義:

enum UnitType
{
   Meter,
   MilliMeter,
}

フィールドを定義:

private UnitType MyUnitType;

ボタンクリック:

try
{
    switch(MyUnitType)
    {
        //m to mm
        case MyUnitType.Meter:
            MyUnitType = MyUnitType.MilliMeter;
            MyTextBox.Text = (Double.Parse(MyTextBox.Text) * 1000.0).ToString();
            MyLabel.Text = "mm";

        //mm to m
        case MyUnitType.MilliMeter:
            MyUnitType = MyUnitType.Meter;
            MyTextBox.Text = (Double.Parse(MyTextBox.Text) / 1000.0).ToString();
            MyLabel.Text = "m";
}
catch
{
    MessageBox.Show("整数または実数のみを入力できます。");
    MyTextBox.Text = "0.0";
}

TextBoxの代わりにNumericalUpDownを使ってもよいです(変換の手間が省ける)。

引用返信 編集キー/
■2079 / inTopicNo.7)  Re[6]: ボタンをクリックする毎に表示を切り替えるには
□投稿者/ HiJun (21回)-(2007/03/16(Fri) 22:53:54)
if文でフラグを云々と記載しながら..._| ̄|о
Jittaさんの言う通りでFlgばっかになるとわけわからなくなるということで

引用返信 編集キー/
■2103 / inTopicNo.8)  Re[7]: ボタンをクリックする毎に表示を切り替えるには
□投稿者/ ゆう (8回)-(2007/03/19(Mon) 10:47:20)
皆様ありがとうございます。

ロードイベントで1度だけViewStateを設定した後で
下のコードでできました。

If Double.Parse(ViewState("i")) = 0 Then
txtX.Text = txtX.Text / 1000
ViewState("i") = 1
Else
txtX.Text = txtX.Text * 1000
ViewState("i") = 0
End If
解決済み
引用返信 編集キー/
■2105 / inTopicNo.9)  Re[8]: ボタンをクリックする毎に表示を切り替えるには
□投稿者/ Mr.T (20回)-(2007/03/19(Mon) 11:29:54)
2007/03/19(Mon) 11:44:15 編集(投稿者)
2007/03/19(Mon) 11:43:41 編集(投稿者)

Mr.Tです、こんにちは。

■No2103 (ゆう さん) に返信
> If Double.Parse(ViewState("i")) = 0 Then

んが、なぜにDoubleなんですか?

if integer.TryParse(ViewState("i").toString,retVal) then
 select case retVal
  case 0
  case 1
  case else
 end select
else
 msgbox "変換できない"
end if
くらいにするかなぁ>自分

引用返信 編集キー/
■2106 / inTopicNo.10)  Re[9]: ボタンをクリックする毎に表示を切り替えるには
□投稿者/ 未記入 (48回)-(2007/03/19(Mon) 11:56:46)
No2105 (Mr.T さん) に返信
> んが、なぜにDoubleなんですか?
1.1以前だとSystem.DoubleにしかTryParseメソッドがないからでしょうか。
まあ、バージョンが書いていないのでわからないんですけどね。

ちゃんと本文のところに

> 本文 (質問の場合は、開発環境・使用言語のバージョンなどを最初に必ず書いてください)
って書いてあるんですけどね。
引用返信 編集キー/
■2107 / inTopicNo.11)  Re[10]: ボタンをクリックする毎に表示を切り替えるには
□投稿者/ Mr.T (21回)-(2007/03/19(Mon) 12:25:53)
No2106 (未記入 さん) に返信
> ■No2105 (Mr.T さん) に返信
>>んが、なぜにDoubleなんですか?
> 1.1以前だとSystem.DoubleにしかTryParseメソッドがないからでしょうか。
> まあ、バージョンが書いていないのでわからないんですけどね。

おお、なるほど。そういう事情があったかもしれないんですね。
ありがとうございます。
引用返信 編集キー/
■2113 / inTopicNo.12)  Re[11]: ボタンをクリックする毎に表示を切り替えるには
□投稿者/ ゆう (9回)-(2007/03/19(Mon) 13:57:37)
> 質問の場合は、開発環境・使用言語のバージョンなどを最初に必ず書いてください
すみません、気を付けます(使用しているのは2.0です)

ある機器の値を計算するために小数点以下も計算する必要があったので
Doubleにしたのはまったく個人的事情です。
わかりやすくするためにintegerに直すべきでしたが、気が回りませんでした。
重ねてすみません。


引用返信 編集キー/
■2114 / inTopicNo.13)  Re[1]: ボタンをクリックする毎に表示を切り替えるには
□投稿者/ よねKEN (21回)-(2007/03/19(Mon) 14:32:51)
よねKEN さんの Web サイト
#つっこみどころが違うような・・・

>分類:[VB.NET (Windows)] 

とあるけど、ASP.NETだったなんて・・・。
#静観してた私が言うのもなんですが、ジャンル指定は適切に!


引用返信 編集キー/
■2115 / inTopicNo.14)  Re[2]: ボタンをクリックする毎に表示を切り替えるには
□投稿者/ Mr.T (22回)-(2007/03/19(Mon) 15:04:52)
No2114 (よねKEN さん) に返信
> #つっこみどころが違うような・・・
>
> >分類:[VB.NET (Windows)] 
>
> とあるけど、ASP.NETだったなんて・・・。

すみません、突っ込んだ後に気がつきました。
「どうしてViewState?」
#解決してるから、突っ込みは先にないと効果半減ですね。

引用返信 編集キー/
■2163 / inTopicNo.15)  Re[3]: ボタンをクリックする毎に表示を切り替えるには
□投稿者/ ゆう (10回)-(2007/03/22(Thu) 12:50:29)
本当にすみません。
始めはwindowsアプリを作成していたのですが、途中でaspと両方で同じ機能のものがあったら便利だと思い
両方同時進行してました。
自分でも今読むまで、aspで解決した方法だとvbではできないことに気づきませんでした。(中断してたので)

ViewStateはいろいろやっているうちに、たまたまできたのでそれでやりました。

※ 解決済みにチェックを入れても解決済みにならないようなのですが解決ということでお願いします。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -