- - PR -
form上のラベルコントロールに値が表示されない
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-08-30 10:05
はじめて投稿します。よろしくお願いします。
VS2005 VB.net で開発を行っています。 FORM1にラベルコントロールが5つあって ある特定のフォルダに別プログラムによりファイルが作成されたら DBからデータを取得して、そのラベルコントロールのテキストに値を いれるというプログラムを作成しています。 FORM1とCLASS(FILE_CHECK)でその動きを実現させようとしているのですが。 FORM1 FORM_LOADにて FILE_CHECK.main()を呼出し、 FILE_CHECKクラスでFileSystemWatcherを使用して ファイルが作成されたらDB接続し、データを取得。 そのあと、クラス内で form1.aaa_label.text = "AAA" '取得した内容 と記述し、値をセットしています。 エラーも何も発生していません。 デバッグでは、ラベルのテキストにセットされているのは確認できるのですが、 FORMの画面上には何も反映されていない状況です。 どうしたら、反映されるのでしょうか・・・? ご教授願います。よろしくおねがいします。 | ||||||||
|
投稿日時: 2007-08-30 10:08
この form1 ですが表示している FORM1 のインスタンスですか? VB2005 では既定のインスタンスにより フォーム名を直接記載した場合に、自動でインスタンスが生成されます。 form1 が表示しているインスタンスであるかどうか確認してみてください。 | ||||||||
|
投稿日時: 2007-08-30 12:12
FileSystemWatcherのイベントは別スレッドから呼ばれるので,通常ではFormのコントロールの操作はできません。
FileSystemWatcher.SynchronizingObjectプロパティにFrom1を設定する必要があります。 SynchronizingObject = From1 | ||||||||
|
投稿日時: 2007-08-30 12:22
問題が存在する場所を特定しましょう。
特定できずとも、できるだけ狭めましょう。 ファイルのチェックが正しくできていないのが原因ですか? データベースから正しい値を取得できていないのが原因ですか? 値は取れてきているのに、ラベルに値を設定しても画面に出ないんですか? タイトルからすると、値は取れてきているのにラベルに値を設定しても画面に出ないような感じですね。 そこまで問題の場所が絞れているなら、ファイルの値をチェックの話とか、データベースから値を取ってきているとかいう話はしない方がいいです。余計な情報ですから。 | ||||||||
|
投稿日時: 2007-08-30 22:57
ダッチさん、YASさん、一郎さん
レスありがとうございました。
このとおりに記述したらうまく出てくれるようになりました。 ありがとうございました。
すいませんでした。今後は気をつけます。 |
1