DOBON.NETプログラミング道掲示板

ツリー一括表示

Nomalアイコン ユーザーコントロール内のテキストボックスのmodifiedプロパティ /はる (19/10/28(Mon) 15:16) #34336
Nomalアイコン Re[1]: ユーザーコントロール内のテキストボックスのmodifiedプロパティ /魔界の仮面弁士 (19/10/28(Mon) 15:49) #34337
  ├Nomalアイコン Re[2]: ユーザーコントロール内のテキストボックスのmodifiedプロパティ /はる (19/10/28(Mon) 16:13) #34338
  │└Nomalアイコン Re[3]: ユーザーコントロール内のテキストボックスのmodifiedプロパティ /shu (19/10/28(Mon) 16:59) #34339
  └Nomalアイコン Re[2]: ユーザーコントロール内のテキストボックスのmodifiedプロパティ /はる (19/10/28(Mon) 17:20) #34340 解決み!


親記事 / ▼[ 34337 ]
■34336 / 親階層)  ユーザーコントロール内のテキストボックスのmodifiedプロパティ
□投稿者/ はる 一般人(1回)-(2019/10/28(Mon) 15:16:18)
  • アイコン環境/言語:[VS2017] 
    分類:[.NET] 

    テキストボックス(txtDate)カレンダーコントロール(txtCal)のユーザーコントロールを作成しています。

    これをフォームに貼りつけコントロール名をtxtSaleDateとします。
    txtSaleDateのtxtDateのmodifiedプロパティを参照するといつもfalseになってしまいます。(txtSaleDate.txtDate.Modifedで参照しています。)

    ユーザーコントロールでは参照できないのでしょうか?
違反を報告
[ □ Tree ] 返信 削除キー/

▲[ 34336 ] / ▼[ 34338 ] ▼[ 34340 ]
■34337 / 1階層)  Re[1]: ユーザーコントロール内のテキストボックスのmodifiedプロパティ
□投稿者/ 魔界の仮面弁士 大御所(1243回)-(2019/10/28(Mon) 15:49:07)
  • アイコンNo34336に返信(はるさんの記事)
    > テキストボックス(txtDate)カレンダーコントロール(txtCal)のユーザーコントロールを作成しています。

    カレンダーコントロールとは何でしょうか。
    txtDate は TextBox クラスで
    txtCal は DateTimePicker でしょうか?



    現状の実装が把握しきれていないのですが、
    TextBox(あるいはその基底たる TextBoxBase)クラスの
    Modified プロパティの事だとしたら、このプロパティは
    下記のように動作します。

    ・ユーザーがテキストを編集すると true になる
    ・コードから Text プロパティを編集すると false になる
    ・Modiled プロパティを意図的に true/false に書き換えることは可能


    > txtSaleDateのtxtDateのmodifiedプロパティを
    「txtSaleDateのtxtDate」とは、何を指しているのでしょうか?

    > txtSaleDate.txtDate.Modifedで参照しています。
    > ユーザーコントロールでは参照できないのでしょうか?
    txtSaleDate が UserControl だったりするのかな…。


    もしもユーザーコントロールが自身の子コントロールを public 等で
    公開しているのだとしたら、そのような実装は避けたほうが良いでしょう。
    (カプセル化の観点からみると、望ましくありません)
違反を報告
[ 親 34336 / □ Tree ] 返信 削除キー/

▲[ 34337 ] / ▼[ 34339 ]
■34338 / 2階層)  Re[2]: ユーザーコントロール内のテキストボックスのmodifiedプロパティ
□投稿者/ はる 一般人(4回)-(2019/10/28(Mon) 16:13:02)
  • アイコンNo34337に返信(魔界の仮面弁士さんの記事)

    すいません。書き直します。


    テキストボックス(コントロール名:txtDate)、DateTimePicer(コントロール名:txtCal)でユーザーコントロール(ユーザーコントロール名:CalCtrl)を作成します。

    これを何かのフォーム(form名:Form01)に上で作ったユーザーコントロールを貼りつけます。(コントロール名:txtSaleDate)

    form01でtxtSaleDateに日付を入力します。入力された日付が表示されていたものと同じであれば処理を実行したくないので

    違う日付を入力しても
    txtSaleDate.Validatingイベントで参照すると
    txtSaleDate.txtDate.modifiedはいつもfalseになっています。



    ユーザーコントロールでは参照できないのでしょうか?
違反を報告
[ 親 34336 / □ Tree ] 返信 削除キー/

▲[ 34338 ] / 返信無し
■34339 / 3階層)  Re[3]: ユーザーコントロール内のテキストボックスのmodifiedプロパティ
□投稿者/ shu 大御所(488回)-(2019/10/28(Mon) 16:59:02)
  • アイコンNo34338に返信(はるさんの記事)


    > テキストボックス(コントロール名:txtDate)、DateTimePicer(コントロール名:txtCal)でユーザーコントロール(ユーザーコントロール名:CalCtrl)を作成します。
    >
    > これを何かのフォーム(form名:Form01)に上で作ったユーザーコントロールを貼りつけます。(コントロール名:txtSaleDate)
    >
    > form01でtxtSaleDateに日付を入力します。入力された日付が表示されていたものと同じであれば処理を実行したくないので
    >
    > 違う日付を入力しても
    この入力でtxtDate.Textの内容の変更がユーザーによって行われているのでしょうか?それともtxtCalによるイベントなどで変更が行われているのでしょうか?後者であるとするとModifiedはTrueになりません。



違反を報告
[ 親 34336 / □ Tree ] 返信 削除キー/

▲[ 34337 ] / 返信無し
■34340 / 2階層)  Re[2]: ユーザーコントロール内のテキストボックスのmodifiedプロパティ
□投稿者/ はる 一般人(6回)-(2019/10/28(Mon) 17:20:48)
  • アイコンNo34337に返信(魔界の仮面弁士さんの記事)
    > ■No34336に返信(はるさんの記事)

    > ・コードから Text プロパティを編集すると false になる

    原因はこれでした。
    ありがとうございました。
解決み!
違反を報告
[ 親 34336 / □ Tree ] 返信 削除キー/


Mode/  Pass/


- Child Tree -