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

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

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

Re[2]: ラジオボタンの動作について


(過去ログ 66 を表示中)

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

■38490 / inTopicNo.1)  ラジオボタンの動作について
  
□投稿者/ C#初心者 (6回)-(2009/07/16(Thu) 16:54:33)

分類:[.NET 全般] 

ラジオボタンの動作について、
教えていただきたいです。
文はちょっと長いですが、宜しくお願い致します。

現在作成しているプログラムの画面イメージ(縦):
1、年度のテキストボックス(フォーカスアウトイベントあり)
2、panelコントロールで、中にテスト1、テスト2のラジオボタン二つあります
3、panelコントロールで、中にテスト3、テスト4のラジオボタン二つあります
4、ListView

Tab順:@年度のテキスト、Aテスト1、テスト2、Bテスト3、テスト4、CListView

処理:ラジオボタンのオン、オフ選択はそれぞれの年度に登録してあり、
    データベースからデータを取得し、ラジオボタンのオン、オフを決めます。

例:2007年 2、のラジオボタンテスト1がオン、テスト2がオフでデータを登録してあり。
         3、のラジオボタンテスト3がオン、テスト4がオフでデータを登録してあり。
  2008年 2、のラジオボタンテスト1がオフ、テスト2がオンでデータを登録してあり。
         3、のラジオボタンテスト3がオフ、テスト4がオンでデータを登録してあり。

プログラム起動時は、年度ことにラジオボタンのオン、オフは正しく設定してます。

年度のテキストボックスの年度を2007から2008に変更、フォーカスアウトイベントを行う際に、不正が起こります。
(イベント内容:年度変更されたら、画面データを変更された年度のデータを表示する)
マウスでListViewをクッリクした場合に、2008に登録されたデータで画面をリセットされます。

問題はTabでフォーカスを移動する場合です、
2008のデータはテスト1がオフ、テスト2がオンにも関わらず、テスト1がオン、テスト2がオフに設定されます。
フォーカスはテスト1に当たり、テスト3、テスト4、は正しく設定されます。

さらに、マウスでListViewをクッリクして、2008に登録されたデータで画面を正しくリセットされた後に、
年度テキストに戻り、2008から2007に年度を変更し、Tabでフォーカスを移動すると、
テスト1がオン、テスト2がオフにも関わらず、2008と同様にテスト1がオフ、テスト2がオンに設定されます。
フォーカスはテスト2に当たり、テスト3、テスト4、は正しく設定されます。
なんかTab移動の時、ラジオボタンが勝てにフォーカス位置をセーブーされた見たいの現象です。
原因がわかりません。

みんなさんから教えて頂きたいです、お願い致します。
引用返信 編集キー/
■38492 / inTopicNo.2)  Re[1]: ラジオボタンの動作について
□投稿者/ .SHO (970回)-(2009/07/16(Thu) 17:06:14)
単純にバグのような気がします。

機能を削ってプログラを小さくしTAB移動時のラジオボタンの動きを
確認すると良いと思います。

それでも動きが変なら、その小さなプログラムを掲示するようにしないと
回答しづらいです。

引用返信 編集キー/
■38493 / inTopicNo.3)  Re[1]: ラジオボタンの動作について
□投稿者/ やじゅ (1107回)-(2009/07/16(Thu) 17:07:27)
やじゅ さんの Web サイト
2009/07/16(Thu) 17:09:08 編集(投稿者)

No38490 (C#初心者 さん) に返信

文章読んでも、ぐにゃぐにゃだな
最短なソースリストを示してもらった方がわかるかな。
引用返信 編集キー/
■38498 / inTopicNo.4)  Re[2]: ラジオボタンの動作について
□投稿者/ C#初心者 (7回)-(2009/07/16(Thu) 18:22:35)
No38493 (やじゅ さん) に返信
> 2009/07/16(Thu) 17:09:08 編集(投稿者)
>
> ■No38490 (C#初心者 さん) に返信
>
> 文章読んでも、ぐにゃぐにゃだな
> 最短なソースリストを示してもらった方がわかるかな。

すみません。
フォーカスアウトイベントのソースを添付します。
このコードデバックしまして、正しく動いてると思いますが、上記の現象の発生原因はわかりません。
お願いします。
protected void txtNendo_Leave(object sender, System.EventArgs e)
{
登録したデータセット:ds(年度をキーにしてデータを取得する)
if(ds.Tables[0].Rows.Count != 0)
{
string strPanel1Flg = ds.Tables[0].Rows[0]["panel1"].ToString();
string strPanel2Flg = ds.Tables[0].Rows[0]["panel2"].ToString();

if(strPanel1Flg == "0")
{
this.rdotest1.Checked = false;
this.rdotest2.Checked = true;
}
else
{
this.rdotest1.Checked = true;
this.rdotest2.Checked = false;
}

if(strPanel2Flg == "0")
{
this.rdotest3.Checked = false;
this.rdotest4.Checked = true;
}
else
{
this.rdotest3.Checked = true;
this.rdotest4.Checked = false;
}
}
else
{
this.rdotest1.Checked = false;
this.rdotest2.Checked = false;
this.rdotest3.Checked = false;
this.rdotest4.Checked = false;
}
}
引用返信 編集キー/
■38500 / inTopicNo.5)  Re[3]: ラジオボタンの動作について
□投稿者/ やじゅ (1108回)-(2009/07/16(Thu) 18:50:26)
やじゅ さんの Web サイト
2009/07/16(Thu) 18:54:35 編集(投稿者)

No38498 (C#初心者 さん) に返信

現象から見て、strPanel1Flgに正しい値がセットされていないとしかいえない。
もしくは、他のイベントで設定を変化させているところがあるかどうか?

ブレークポイントをセットしてトレースしていくしか無いんじゃないの
http://www.atmarkit.co.jp/fdotnet/easyvs/easyvs05/easyvs05_04.html
引用返信 編集キー/
■38501 / inTopicNo.6)  Re[2]: ラジオボタンの動作について
□投稿者/ .SHO (971回)-(2009/07/16(Thu) 18:57:43)
とりあえず

Console.WriteLine( strPanel1Flg );

してみたら。。。
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -