C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法
ツリー表示
トピック表示
ランキング
記事検索
過去ログ
ログ内検索
キーワードを複数指定する場合は 半角スペース で区切ってください。
検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
[返信]をクリックすると返信ページへ移動します。
キーワード
/
検索条件
/
(AND)
(OR)
検索範囲
/
(現在のログ)
(全過去ログ)
(過去ログ1)
(過去ログ2)
(過去ログ3)
(過去ログ4)
(過去ログ5)
(過去ログ6)
(過去ログ7)
(過去ログ8)
(過去ログ9)
(過去ログ10)
(過去ログ11)
(過去ログ12)
(過去ログ13)
(過去ログ14)
(過去ログ15)
(過去ログ16)
(過去ログ17)
(過去ログ18)
(過去ログ19)
(過去ログ20)
(過去ログ21)
(過去ログ22)
(過去ログ23)
(過去ログ24)
(過去ログ25)
(過去ログ26)
(過去ログ27)
(過去ログ28)
(過去ログ29)
(過去ログ30)
(過去ログ31)
(過去ログ32)
(過去ログ33)
(過去ログ34)
(過去ログ35)
(過去ログ36)
(過去ログ37)
(過去ログ38)
(過去ログ39)
(過去ログ40)
(過去ログ41)
(過去ログ42)
(過去ログ43)
(過去ログ44)
(過去ログ45)
(過去ログ46)
(過去ログ47)
(過去ログ48)
(過去ログ49)
(過去ログ50)
(過去ログ51)
(過去ログ52)
(過去ログ53)
(過去ログ54)
(過去ログ55)
(過去ログ56)
(過去ログ57)
(過去ログ58)
(過去ログ59)
(過去ログ60)
(過去ログ61)
(過去ログ62)
(過去ログ63)
(過去ログ64)
(過去ログ65)
(過去ログ66)
(過去ログ67)
(過去ログ68)
(過去ログ69)
(過去ログ70)
(過去ログ71)
(過去ログ72)
(過去ログ73)
(過去ログ74)
(過去ログ75)
(過去ログ76)
(過去ログ77)
(過去ログ78)
(過去ログ79)
(過去ログ80)
(過去ログ81)
(過去ログ82)
(過去ログ83)
(過去ログ84)
(過去ログ85)
(過去ログ86)
(過去ログ87)
(過去ログ88)
(過去ログ89)
(過去ログ90)
(過去ログ91)
(過去ログ92)
(過去ログ93)
(過去ログ94)
(過去ログ95)
(過去ログ96)
(過去ログ97)
(過去ログ98)
(過去ログ99)
(過去ログ100)
(過去ログ101)
(過去ログ102)
(過去ログ103)
(過去ログ104)
(過去ログ105)
(過去ログ106)
(過去ログ107)
(過去ログ108)
(過去ログ109)
(過去ログ110)
(過去ログ111)
(過去ログ112)
(過去ログ113)
(過去ログ114)
(過去ログ115)
(過去ログ116)
(過去ログ117)
(過去ログ118)
(過去ログ119)
(過去ログ120)
(過去ログ121)
(過去ログ122)
(過去ログ123)
(過去ログ124)
(過去ログ125)
(過去ログ126)
(過去ログ127)
(過去ログ128)
(過去ログ129)
(過去ログ130)
(過去ログ131)
(過去ログ132)
(過去ログ133)
(過去ログ134)
(過去ログ135)
(過去ログ136)
(過去ログ137)
(過去ログ138)
(過去ログ139)
(過去ログ140)
(過去ログ141)
(過去ログ142)
(過去ログ143)
(過去ログ144)
(過去ログ145)
(過去ログ146)
(過去ログ147)
(過去ログ148)
(過去ログ149)
(過去ログ150)
(過去ログ151)
(過去ログ152)
(過去ログ153)
(過去ログ154)
(過去ログ155)
(過去ログ156)
(過去ログ157)
(過去ログ158)
(過去ログ159)
(過去ログ160)
(過去ログ161)
(過去ログ162)
(過去ログ163)
(過去ログ164)
(過去ログ165)
(過去ログ166)
(過去ログ167)
(過去ログ168)
(過去ログ169)
(過去ログ170)
(過去ログ171)
(過去ログ172)
(過去ログ173)
(過去ログ174)
(過去ログ175)
(過去ログ176)
(過去ログ177)
(過去ログ178)
(過去ログ179)
強調表示
/
ON
(自動リンクOFF)
結果表示件数
/
20件
30件
40件
50件
100件
記事No検索
/
ON
大文字と小文字を区別する
No.2129 の関連記事表示
ヒット / 31件
(1-20 を表示)
<<
0
|
1
>>
■2194
Re[7]: Leaveイベントでボタンがクリックされたかどうかを取得したい
□投稿者/ やす -
(2005/12/22(Thu) 19:28:42)
分類:[C#]
シャノンさん 返答が遅くなってしまって申し訳ございません。
>#インターネット上では丸囲み文字は使わないのがお約束です。
了解しました。以後気をつけたいと思います。
>ご希望の問題には、スマートな解決策が思いつきません(醜い解決策なら出てきそうですが)。
そうですか。やはり難しいのですねぇ・・・。
現在の仕様では入力値にエラーがあった場合、エラーがあったテキストボックスに
フォーカスを設定するようになっています。
ボタン2にフォーカスが遷移しただけであれば(クリックではなくて)、
入力チェックを行ってエラーがあった場合には該当テキストにフォーカスを設定してあげなくてはなりません。
ですのでシャノンさんがおっしゃられるようにボタンにフォーカスが移ってもチェックなしという訳にはいかないのが現状です。
いい解決策が思い浮かびませんので、とりあえずはボタン2を押下した時にもチェックイベントが走ってしまいますが、
現状のままで行きたいと思います。
ご回答頂きまして本当にありがとうございました。
また何かございましたら宜しくお願い致します。
記事No.2129 のレス /0過去ログ2より /
関連記事表示
削除チェック/
■2164
Re[6]: Leaveイベントでボタンがクリックされたかどうかを取得したい
□投稿者/ シャノン -
(2005/12/20(Tue) 01:09:56)
分類:[C#]
#インターネット上では丸囲み文字は使わないのがお約束です。
改めて読み返して、自分がすげぇ勘違いをしていたことに気がつきました。ごめんなさい。
ご希望の問題には、スマートな解決策が思いつきません(醜い解決策なら出てきそうですが)。
ただ、このように考えを変えてはどうだろうと思いつきました。
マウスではなく、キーボードでの操作を好む人もいる。
そのような人は、ボタンにフォーカスを移してから、Space キーか何かでクリックしたいと思うかもしれないが、提示された仕様ではそれが不可能である。
逆に考えれば、「ボタンにフォーカスを移す」ということは「次にクリックする」ということしか考えられないのだから、ボタンにフォーカスが移ってもチェックなしで問題ないのではないか。
記事No.2129 のレス /0過去ログ2より /
関連記事表示
削除チェック/
■2158
Re[5]: Leaveイベントでボタンがクリックされたかどうかを取得したい
□投稿者/ やす -
(2005/12/19(Mon) 10:03:27)
分類:[C#]
シャノンさん ご回答ありがとうございます。
ボタン2を押下すると前画面へ遷移するようになるのですが、
現状のままですとボタン押下した場合でもチェックが走ってしまいます。
チェックが走っても前画面へ戻れるのは戻れるのですが、
メッセージが表示されてしまうので、
ボタン2を押下した場合はチェックを走らなくしたいので、
@ボタンがクリックされた
Aボタンはクリックされてないが、ボタンにフォーカスがセットされた。(タブ遷移等で)
と上記の2つを判断したいと思った次第です。
記事No.2129 のレス /0過去ログ2より /
関連記事表示
削除チェック/
■2149
Re[4]: Leaveイベントでボタンがクリックされたかどうかを取得したい
□投稿者/ シャノン -
(2005/12/16(Fri) 22:26:48)
分類:[C#]
> 不勉強で申し訳ございませんが、CausesValidationですが、フォーカスを受け取ると検証が必要なコントロールかどうかを判断するフラグなだけで、
> @ボタンがクリックされた。
> Aボタンはクリックされてないが、ボタンにフォーカスがセットされた。(タブ遷移等で)
> 上記を判断する材料になるのでしょうか??
これを判断する必要があるのでしょうか?
言い換えれば、
(1)入力値の検証を必要としない
(2)入力値の検証を必要とする
ということですよね。
記事No.2129 のレス /0過去ログ2より /
関連記事表示
削除チェック/
■2144
Re[3]: Leaveイベントでボタンがクリックされたかどうかを取得したい
□投稿者/ やす -
(2005/12/16(Fri) 09:36:04)
分類:[C#]
じゃんぬさん、シャノンさんご回答ありがとうございます。
不勉強で申し訳ございませんが、CausesValidationですが、フォーカスを受け取ると検証が必要なコントロールかどうかを判断するフラグなだけで、
@ボタンがクリックされた。
Aボタンはクリックされてないが、ボタンにフォーカスがセットされた。(タブ遷移等で)
上記を判断する材料になるのでしょうか??
>ひとつ突っ込ませていただくと、そのイベント内でやりたいのが入力値の検証でないのならば、Validated イベントの方が適切かと思われます。
入力値の検証をやりたいと思っています。
ご迷惑おかけしますが宜しくお願い致します。
記事No.2129 のレス /0過去ログ2より /
関連記事表示
削除チェック/
■2143
Re[2]: Leaveイベントでボタンがクリックされたかどうかを取得したい
□投稿者/ シャノン -
(2005/12/16(Fri) 01:36:33)
分類:[C#]
■
No2136
に返信(じゃんぬさんの記事)
> Leave イベントではなく Validating イベントでやると良いでしょう。
ひとつ突っ込ませていただくと、そのイベント内でやりたいのが入力値の検証でないのならば、Validated イベントの方が適切かと思われます。
記事No.2129 のレス /0過去ログ2より /
関連記事表示
削除チェック/
■2142
Re[4]: Leaveイベントでボタンがクリックされたかどうかを取得したい
□投稿者/ じゃんぬ -
(2005/12/16(Fri) 01:09:53)
>
分類:[C#]
■
No2139
に返信(シャノンさんの記事)
> CausesValidation プロパティについて調べてみてください。
最近のスレッドと一緒の流れですね。(^^;)
http://www.gdncom.jp/general/bbs/ShowPost.aspx?PostID=39467
記事No.2129 のレス /0過去ログ2より /
関連記事表示
削除チェック/
■2139
Re[3]: Leaveイベントでボタンがクリックされたかどうかを取得したい
□投稿者/ シャノン -
(2005/12/15(Thu) 21:36:00)
分類:[C#]
CausesValidation プロパティについて調べてみてください。
記事No.2129 のレス /0過去ログ2より /
関連記事表示
削除チェック/
■2138
Re[2]: Leaveイベントでボタンがクリックされたかどうかを取得したい
□投稿者/ やす -
(2005/12/15(Thu) 19:16:08)
分類:[C#]
じゃんぬさん回答ありがとうございます。
ActiveControlで確かにコントロールは取得出来ますが、
テキストボックスからボタンへTabキーを押下してコントロールが遷移した場合と、
ボタンをクリックした場合で、同じ値が取得出来てしまいますよね?
テキストボックスからTabキーを押下してボタンへコントロールが遷移した場合は、
テキストボックスのLeaveイベント(Validaitingイベント)の処理をしたいのですが、
テキストボックスにコントロールがある時に、ボタンをクリックした場合は、Leaveイベント(Validaitingイベント)の処理は行いたくありません。
テキストボックスからボタンへ単純にフォーカスが移っただけなのか、
もしくはテキストボックスにフォーカスがある時にボタンが押下されたのかを
判定したいのですが可能なのでしょうか?
記事No.2129 のレス /0過去ログ2より /
関連記事表示
削除チェック/
■2136
Re[1]: Leaveイベントでボタンがクリックされたかどうかを取得したい
□投稿者/ じゃんぬ -
(2005/12/15(Thu) 16:49:19)
>
分類:[C#]
■
No2129
に返信(やすさんの記事)
> テキストボックスのLeaveイベントでボタン2がクリックされたかどうかの判定は可能でしょうか?
Leave イベントではなく Validating イベントでやると良いでしょう。
Validating イベントでは、ActiveControl で遷移先のコントロールを取得できます。
記事No.2129 のレス /0過去ログ2より /
関連記事表示
削除チェック/
■2130
Leaveイベントでボタンがクリックされたかどうかを取得したい
□投稿者/ やす -
(2005/12/15(Thu) 10:33:41)
分類:[C#]
すいません。。。タイトル書き忘れていました。
編集の仕方がわからないのでご容赦下さい。
申し訳がございません。
記事No.2129 のレス /0過去ログ2より /
関連記事表示
削除チェック/
■2129
Leaveイベントでボタンがクリックされたかどうかを取得したい
□投稿者/ やす -
(2005/12/15(Thu) 10:30:42)
分類:[C#]
分類:[C#]
はじめまして。
C#でWindowsアプリケーションの開発を行っています。
テキストボックスとボタン1とボタン2が存在する画面で、
テキストボックスのLeaveイベントでボタン2がクリックされたかどうかの判定は可能でしょうか?
Leaveイベントの処理はボタン2がクリックされた時は何も処理せずに終了したいのです。
それ以外の場合(テキストボックスからボタン2へTabキーでフォーカス遷移した場合等)は、処理を行いたいと考えています。
説明がわかりづらいかも知れませんがどうぞ宜しくお願いします。
親記事 /0過去ログ2より /
関連記事表示
削除チェック/
■2129
SplitContainerの分割線
□投稿者/ K -
(2007/03/20(Tue) 00:04:22)
分類:[.NET 全般]
どうもお世話になっております。
2.0で追加されたSplitContainerの分割線ですが、
つかんでサイズ変更すると、分割バー上にドラッグ中のハーフトーンイメージ(?)
のようなものが残ってしまいます。
これは仕様なんでしょうか?
2.0以降はSplitterの代わりにSplitContainerを使えというお達しなのですが、
おかげで導入する気がおきません。
Splitterと同じ表示が欲しい場合、バー部分を自分で描画するしかないのでしょうか?
OnPaintオーバーライドかな。
親記事 /過去ログ11より /
関連記事表示
削除チェック/
■2132
Re[1]: SplitContainerの分割線
□投稿者/ Jitta -
(2007/03/20(Tue) 07:41:48)
■
No2129
(K さん) に返信
> どうもお世話になっております。
>
> 2.0で追加されたSplitContainerの分割線ですが、
> つかんでサイズ変更すると、分割バー上にドラッグ中のハーフトーンイメージ(?)
> のようなものが残ってしまいます。
> これは仕様なんでしょうか?
>
> 2.0以降はSplitterの代わりにSplitContainerを使えというお達しなのですが、
> おかげで導入する気がおきません。
>
> Splitterと同じ表示が欲しい場合、バー部分を自分で描画するしかないのでしょうか?
> OnPaintオーバーライドかな。
>
再現していません。
描写ルーチンとか、いじっていませんか?
記事No.2129 のレス /過去ログ11より /
関連記事表示
削除チェック/
■2149
Re[2]: SplitContainerの分割線
□投稿者/ K -
(2007/03/20(Tue) 23:06:51)
2007/03/20(Tue) 23:12:59 編集(投稿者)
ちょっと検索してみました。
以下の図1の右の縦スプリットが、同じように表示がおかしくなっています。
多分、私の環境だけではないと思うのですが・・・
http://itpro.nikkeibp.co.jp/article/COLUMN/20060926/249032/
SplitContainerのイベントもプロパティも全部デフォルトで、こうなります。
縦にしても横にしても、BoderStyleを変えても、Panelにコントロールを置いても一緒です。
私の環境ですが、バージョン情報を見ると以下の通りです。
Microsoft Visual Studio 2005
Version 8.0.50727.762 (SP.050727-7600)
Microsoft .NET Framework
Version 2.0.50727
// とりあえず、オーバーライドして無理やり正常に表示していますが・・・
public class SplitContainer2 : SplitContainer
{
protected override void OnPaint(PaintEventArgs e)
{
using (Brush brush = new SolidBrush(this.BackColor))
{
e.Graphics.FillRectangle(brush, e.ClipRectangle);
}
}
}
記事No.2129 のレス /過去ログ11より /
関連記事表示
削除チェック/
■2150
Re[3]: SplitContainerの分割線
□投稿者/ よねKEN -
(2007/03/20(Tue) 23:54:50)
>
私の方でも試してみましたが、再現しました。
0. 新規プロジェクトを作成
1. SplitContainerを置いて特にプロパティはいじらず。
(2. 左、右に適当なコントロールを追加)
というように準備をして実行。
1.だけなら、最初から真ん中にハーフトーンのボーダー(※)が表示されている。
1.と2.なら、最初は正常な表示でスプリットのバーを操作した後には、やはりハーフトーンのボーダーが表示される。
※1 Kさん提示のURLで言うところのbutton1とRichTextBox1の間のチェッカーフラッグ模様の線
(
http://itpro.nikkeibp.co.jp/article/COLUMN/20060926/249032/
)
私の環境は、
Visual Basic 2005 Express Edition (Version 8.0.50727.762 (SP.050727-7600))
Windows XP pro SP2
です。
解決策じゃないですが、とりあえず再現したよ、ということで。
記事No.2129 のレス /過去ログ11より /
関連記事表示
削除チェック/
■2151
Re[4]: SplitContainerの分割線
□投稿者/ 中博俊
@
-
(2007/03/21(Wed) 09:35:18)
>
フォーカス持ってるだけでしょ?
記事No.2129 のレス /過去ログ11より /
関連記事表示
削除チェック/
■2153
Re[5]: SplitContainerの分割線
□投稿者/ Mr.T -
(2007/03/21(Wed) 11:16:23)
Mr.Tです、こんにちは。
■
No2151
(中博俊 さん) に返信
> フォーカス持ってるだけでしょ?
私も試してみたんですが、そのようですね。
確認として、SplitterWidthを適当に大きくして動かしてみると
フォーカスだとわかります。
フォーカス移動なので、他のコントロールにフォーカスを移動すれば消えます。
SplitterMovedイベントで他のコントロールにフォーカスするとか、
SplitContainer1.Enabled=Falseの直後に
SplitContainer1.Enabled=True
にするとか他にもあるんでしょうけど、そこらへんはどうとでも
できますね。
環境:
Microsoft Visual Studio 2005
Version 8.0.50727.762 (SP.050727-7600)
Microsoft .NET Framework
Version 2.0.50727
記事No.2129 のレス /過去ログ11より /
関連記事表示
削除チェック/
■2152
Re[5]: SplitContainerの分割線
□投稿者/ よねKEN -
(2007/03/21(Wed) 10:59:01)
>
■
No2151
(中博俊 さん) に返信
> フォーカス持ってるだけでしょ?
なるほど、そのようですね。
SplitterMovedイベントで適当なコントロールのFocusメソッドを呼び出してみたら、問題なしでした。
とはいえ、explorerのようなペインを実現するためのコントロールとしては、
スプリッタのこの表示はうれしくないですね。
どちらかというと、フォーカスは元のコントロールに維持されたままというのが期待される動作だと思います。
#スプリッタの位置を変更するたびにフォーカスを取られたのでは困りますし。
Splitterコントロールで同様のことを行った場合は、こういうことにはなりませんね。
SplitterコントロールとSplitContainerコントロールで動作実験を行いましたが、
スプリッタをドラッグする瞬間に、
前者はフォーカスを取らないが、後者はフォーカスを取ってますね。
例えば、TextBoxを配置し、LeaveイベントとValidatingイベントを処理するように記述しておきます。
そして、実行時にTextBox入力中にスプリットを動かすと、
Splitterの場合は何も起こらず、SplitContainerの場合はTextBoxのLeaveイベントが起きます。
そして、フォーカスを元のTextBoxにFocusメソッドで強引に戻してやると
Validatingイベントが起きましたorz
SplitとSplitContainerで仕様が違うんだといってしまえばそれまでですが、
なんかSplitContainerいけてないですね・・・
記事No.2129 のレス /過去ログ11より /
関連記事表示
削除チェック/
■2154
Re[6]: SplitContainerの分割線
□投稿者/ K -
(2007/03/21(Wed) 12:59:32)
■
No2151
(中博俊 さん) に返信
>フォーカス持ってるだけでしょ?
ありがとうございます。気づきませんでした。
どうも、OnPaintの中でわざわざFocus線を描画しているようです。
OnPaintをオーバーライドして何もしないだけで、Focus表示はなくなりました。
以下でとりあえず問題はなさそうですが、正直ちょっと使いづらいです。
1.TabStopをfalse
2.SplitterMovedイベントでフォーカスを他へ移動
(分割線のドラッグ以外で移動した場合もSplitterMovedイベントが発生してしまう模様)
Splitterと同じようにサイズ変更しても元のフォーカスを維持したいのですが、うまくいきません。
OnCreateControlをオーバーライドしてSelectableスタイルをfalseにしたのですが、フォーカスを受け取ってしまいます。
protected override void OnCreateControl()
{
base.OnCreateControl();
this.SetStyle(ControlStyles.Selectable, false);
}
記事No.2129 のレス /過去ログ11より /
関連記事表示
削除チェック/
次の20件>
<<
0
|
1
>>
パスワード/
-
Child Tree
-