■Visual Studio 2015 Community & Express (無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/
■コードを貼る場合はこちら
http://ideone.com/
■前スレ
C#, C♯, C#相談室 Part92 (実質93)
http://echo.2ch.net/test/read.cgi/tech/1485589613/
■次スレは>>970が建てる事
建てられない場合は他を指定する事。
探検
C#, C♯, C#相談室 Part94 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2017/04/22(土) 15:36:53.26ID:S+KK7a41
561デフォルトの名無しさん
2017/07/28(金) 17:20:30.90ID:mbT3OJMo563デフォルトの名無しさん
2017/07/28(金) 19:57:56.53ID:wfFGjuoD 前略main(引数略)
{
処理a;
処理b;
処理c;
処理d;
リターン
}
{
処理a;
処理b;
処理c;
処理d;
リターン
}
564デフォルトの名無しさん
2017/07/28(金) 20:32:00.92ID:AFEjF9o4 なにやら、「Stateパターン」というのを使えばきれいになりそうです
565デフォルトの名無しさん
2017/07/28(金) 21:13:19.68ID:/6BVCD/F Stateはアンチパターン
「状態は明示的かつ最小限に」が今風
「状態は明示的かつ最小限に」が今風
566デフォルトの名無しさん
2017/07/28(金) 21:20:18.20ID:AFEjF9o4 へ〜。
じゃあどうするとよいのでしょうか...
じゃあどうするとよいのでしょうか...
567デフォルトの名無しさん
2017/07/28(金) 22:10:55.08ID:2VdCpbf6 いいから>>561のサイトにお前の書いたコード貼れ
568デフォルトの名無しさん
2017/07/28(金) 22:13:50.04ID:ItR12R6X ろくにコード書かない初心者ばかりのスレに貼ってもしょうがないな
569デフォルトの名無しさん
2017/07/28(金) 22:42:33.73ID:AFEjF9o4570デフォルトの名無しさん
2017/07/28(金) 22:44:40.17ID:AFEjF9o4 ほんとにはじめたてです。
VisualVasic使ってますが、機能がいまいち使いこなせません。
VisualVasic使ってますが、機能がいまいち使いこなせません。
571デフォルトの名無しさん
2017/07/28(金) 22:49:28.94ID:AFEjF9o4572デフォルトの名無しさん
2017/07/28(金) 22:54:19.21ID:wndodTEE 長い... か?
573デフォルトの名無しさん
2017/07/28(金) 22:54:29.48ID:AFEjF9o4 https://ideone.com/C2DZMv
です。よろしくお願いします。
です。よろしくお願いします。
574デフォルトの名無しさん
2017/07/28(金) 22:55:23.06ID:AFEjF9o4575デフォルトの名無しさん
2017/07/28(金) 23:55:21.82ID:ai+ukChT プロジェクトまるごとどこかにUPした方が口出ししてもらえるかもよ
576デフォルトの名無しさん
2017/07/29(土) 00:21:01.93ID:1x0TX8t+ >>575
そうですね、ありがとうございます
そうですね、ありがとうございます
577デフォルトの名無しさん
2017/07/29(土) 00:22:42.64ID:flgXEmXz >>573
分岐条件と処理の対応表作って飛ばすだけじゃだめなの?
分岐条件と処理の対応表作って飛ばすだけじゃだめなの?
578デフォルトの名無しさん
2017/07/29(土) 00:29:09.54ID:gp3BUyJn 長い処理は長くていいと思うが保守目的なら、parial使ってソースファイル分けるのがいいかな。
579デフォルトの名無しさん
2017/07/29(土) 00:56:00.91ID:kJ48tJGw これはどうしようもないとまで言えないけど
こんなもんだろ
こんなもんだろ
580デフォルトの名無しさん
2017/07/29(土) 02:51:51.63ID:gp3BUyJn すまん、スペルミス。partial ね。
581デフォルトの名無しさん
2017/07/29(土) 12:30:26.46ID:1x0TX8t+582デフォルトの名無しさん
2017/07/29(土) 12:37:15.78ID:oSnm1RVH 長いかどうかというか責務が分割されてるかだよ
責務が分割されてるなら自然と短くなる
ショートコーディングを突き詰めるのはその後
責務が分割されてるなら自然と短くなる
ショートコーディングを突き詰めるのはその後
583デフォルトの名無しさん
2017/07/29(土) 12:41:24.13ID:1x0TX8t+ 処理を1つ1つのシーンごとに完成させたいんですが、
キーイベントと描画で、一緒に書きたい部分が分けられちゃってるんです。
それを、できたらどうにかしたいと思います。
キーイベントと描画で、一緒に書きたい部分が分けられちゃってるんです。
それを、できたらどうにかしたいと思います。
584デフォルトの名無しさん
2017/07/29(土) 18:43:03.15ID:gp3BUyJn ベースとなるシーンクラスを作る。キーイベントや描画の仮想関数も入れとく。
個々のシーンごとに、継承してクラスを作り、そこにキーイベントと描画を実装する。
ストーリー進行管理クラス作り、そこでシーンクラスの切り替えを行う。
個々のシーンごとに、継承してクラスを作り、そこにキーイベントと描画を実装する。
ストーリー進行管理クラス作り、そこでシーンクラスの切り替えを行う。
585デフォルトの名無しさん
2017/07/29(土) 19:23:12.73ID:TPlqyDtD キーイベントをコマンドに変換してモデルに投げるクラス
モデルを描画するだけのクラス
これは分けとかないと後で泣くよ
モデルを描画するだけのクラス
これは分けとかないと後で泣くよ
586デフォルトの名無しさん
2017/07/29(土) 20:14:15.70ID:C4g3d83/ C♯を触ってるけど、独習C♯をちょっとかじって、作りたい物ちょこちょこ適当に作ってるから綺麗なコードってのがよく分からない
このスレの人達はサンプルソース見たりとかやりやすい作法とかどうやって見つけてますか?
このスレの人達はサンプルソース見たりとかやりやすい作法とかどうやって見つけてますか?
587デフォルトの名無しさん
2017/07/29(土) 20:31:18.14ID:TPlqyDtD588デフォルトの名無しさん
2017/07/29(土) 20:41:15.53ID:C4g3d83/589デフォルトの名無しさん
2017/07/29(土) 20:41:31.78ID:iH5rcp7M >>586
GitHubの有名なプロジェクト見てみ
GitHubの有名なプロジェクト見てみ
590デフォルトの名無しさん
2017/07/29(土) 20:45:58.77ID:C4g3d83/591デフォルトの名無しさん
2017/07/29(土) 21:02:11.91ID:zJVnUUbX592デフォルトの名無しさん
2017/07/29(土) 21:08:27.57ID:nvDf8a0u 本読んで勉強するレベルの奴はきれいなソースなんて考えなくていいよ
まずは動くソースかけるようになれよ
動くの書けたらごっちゃなソースになってるだろうから、そこで余裕があったら考えりゃいい
昨日の質問の奴みたいにその書いたソースに合わせてな
まずは動くソースかけるようになれよ
動くの書けたらごっちゃなソースになってるだろうから、そこで余裕があったら考えりゃいい
昨日の質問の奴みたいにその書いたソースに合わせてな
593デフォルトの名無しさん
2017/07/29(土) 21:21:04.34ID:AM/Q5FkU594デフォルトの名無しさん
2017/07/29(土) 21:34:41.88ID:C4g3d83/ >>591
使いたい機能で備忘録とかサンプルみたいなのは見たりするけど、
プロジェクトレベルで無いかなーとかは思ってたので、どんな感じかは興味ありますね
>>592
動くものはそこそこ作ってるんですけど、オブジェクト思考とかまったく勉強してないので、
関数切り貼りとか汎用関数適当にぶち込んだクラス使い回しで、ほぼベタ書きみたいなもんなんですよね
たまーに少し凝って少しずつ汎用度は上げてますが
>>593
やっぱり公開するのが一番手っ取り早い上達方法だとは自分も思います
自分で改善するには、現状の自分のレベルよりも上の人からきっかけ貰わないとそもそも気付けないパターンのが多いですし
基本的にはスクレイピングしてDBにデータを集めて、それを色々と分析するようなプログラム書いてるだけなので、
ベタでも動かすのは大体問題無いんですよね
しかし、こういう作法は効率悪いよとか、こういう書き方すればいいじゃんみたいな参考コードから
自分のコードに付け足したいってイメージでした
使いたい機能で備忘録とかサンプルみたいなのは見たりするけど、
プロジェクトレベルで無いかなーとかは思ってたので、どんな感じかは興味ありますね
>>592
動くものはそこそこ作ってるんですけど、オブジェクト思考とかまったく勉強してないので、
関数切り貼りとか汎用関数適当にぶち込んだクラス使い回しで、ほぼベタ書きみたいなもんなんですよね
たまーに少し凝って少しずつ汎用度は上げてますが
>>593
やっぱり公開するのが一番手っ取り早い上達方法だとは自分も思います
自分で改善するには、現状の自分のレベルよりも上の人からきっかけ貰わないとそもそも気付けないパターンのが多いですし
基本的にはスクレイピングしてDBにデータを集めて、それを色々と分析するようなプログラム書いてるだけなので、
ベタでも動かすのは大体問題無いんですよね
しかし、こういう作法は効率悪いよとか、こういう書き方すればいいじゃんみたいな参考コードから
自分のコードに付け足したいってイメージでした
595デフォルトの名無しさん
2017/07/29(土) 22:32:29.25ID:1IyGodP3596デフォルトの名無しさん
2017/07/29(土) 22:42:14.14ID:C4g3d83/ >>595
Rubyでスクレイピングしてる参考書買ってちょっと書いてた時期あるんですが、それが少し動作遅かったのでC♯で移植してからずっとC♯使ってるんですよね
後はC♯のchartクラスとかも少し触ったりしてます
Pythonは触ったこと無いですが、作業内容に合わせてコーディング時間調整できるぐらい色んな言語触れる用になるのは目標ではありますね・・・
Rubyでスクレイピングしてる参考書買ってちょっと書いてた時期あるんですが、それが少し動作遅かったのでC♯で移植してからずっとC♯使ってるんですよね
後はC♯のchartクラスとかも少し触ったりしてます
Pythonは触ったこと無いですが、作業内容に合わせてコーディング時間調整できるぐらい色んな言語触れる用になるのは目標ではありますね・・・
597デフォルトの名無しさん
2017/07/29(土) 22:50:27.83ID:d/bKk9xj Pythonだとmatplotlib使えばクソ簡単に高品質なグラフ描けるよ
スクレイピングがスクリプトで遅いのはXPathをうまく使えてないんじゃないかな
スクリプトを使うなら重い処理は極力ライブラリに丸投げするのがコツだ
スクレイピングがスクリプトで遅いのはXPathをうまく使えてないんじゃないかな
スクリプトを使うなら重い処理は極力ライブラリに丸投げするのがコツだ
598デフォルトの名無しさん
2017/07/29(土) 23:02:02.11ID:iH5rcp7M >>591
これがいわゆる井の中の蛙ってやつです
これがいわゆる井の中の蛙ってやつです
599デフォルトの名無しさん
2017/07/29(土) 23:12:38.60ID:TPlqyDtD スクレイピングはjsだろ
600デフォルトの名無しさん
2017/07/30(日) 03:04:38.72ID:1m5312Xu >>586
その独習C#とかで書かれてるようなのがいわゆる綺麗なコード。
まあ、有名ライブラリ書いてるコミッタとかでもそんな綺麗じゃない場合もあるので、ぶっちゃけ優秀な成果物作ったもん勝ちってのはある。
勝てば官軍。
行儀のいい無能より、素行不良でも有能な奴が好まれるのはどの業界でもよくある。
勿論、綺麗なコード書けるに越した事はないけど。
その独習C#とかで書かれてるようなのがいわゆる綺麗なコード。
まあ、有名ライブラリ書いてるコミッタとかでもそんな綺麗じゃない場合もあるので、ぶっちゃけ優秀な成果物作ったもん勝ちってのはある。
勝てば官軍。
行儀のいい無能より、素行不良でも有能な奴が好まれるのはどの業界でもよくある。
勿論、綺麗なコード書けるに越した事はないけど。
601デフォルトの名無しさん
2017/07/30(日) 04:38:20.28ID:9ZftmVJd 昔はDr.Dがレクチャーしてくれたのにな。
602デフォルトの名無しさん
2017/07/30(日) 04:54:53.83ID:ZiKC4drW スクレイピングはPowerShellでやってる
603デフォルトの名無しさん
2017/07/30(日) 05:57:53.68ID:1fafOaKT 「きれいなコード」とはまた違うのかもしれないけど、「C#らしい生産性の高いコード」ってなかなか書けないよね
C++やC++/CLIが高機能かつ安全になりすぎたせいもあってC#の優位性が失われた気がするんだよな
VisualStudioやVSCodeの補完機能の効きが違うせいでC++よりC#が使いやすいとか、機能が少ない分C#の方が他人の書いたコードが読みやすいとか、今となってはそれぐらいしかメリットが無い気がする
C++やC++/CLIが高機能かつ安全になりすぎたせいもあってC#の優位性が失われた気がするんだよな
VisualStudioやVSCodeの補完機能の効きが違うせいでC++よりC#が使いやすいとか、機能が少ない分C#の方が他人の書いたコードが読みやすいとか、今となってはそれぐらいしかメリットが無い気がする
604デフォルトの名無しさん
2017/07/30(日) 06:03:17.61ID:Qmd4c3j+ 今のC++ってC#に匹敵するほど生産性高いの?
605デフォルトの名無しさん
2017/07/30(日) 06:03:50.53ID:lj6eZdZL 生産性の高いコードは言語と無関係だと思うな
606デフォルトの名無しさん
2017/07/30(日) 06:08:48.44ID:ynobldaf >>598
お前が井戸からでて実際のコード見てから語れよ w
お前が井戸からでて実際のコード見てから語れよ w
607デフォルトの名無しさん
2017/07/30(日) 06:27:12.70ID:9ZftmVJd 生産性と保守性はトレードオフ。
608デフォルトの名無しさん
2017/07/30(日) 07:18:45.15ID:hMQywZRx >>606
見てないわけねーだろカスwww
見てないわけねーだろカスwww
609デフォルトの名無しさん
2017/07/30(日) 07:57:39.53ID:ynobldaf >>608
どこのソースを読んでどんなところがいいのか具体的に言ってみ
どこのソースを読んでどんなところがいいのか具体的に言ってみ
610デフォルトの名無しさん
2017/07/30(日) 08:02:02.87ID:6NpzZP8L さすがC#erはパッパラパーやな
611デフォルトの名無しさん
2017/07/30(日) 08:08:37.81ID:lj6eZdZL 人のソース見てもたいていは小手先の表現しか参考にならない
汚いコードとの対比がないからな
人のソース見てそれ以上がわかるやつは相当デキル
汚いコードとの対比がないからな
人のソース見てそれ以上がわかるやつは相当デキル
612デフォルトの名無しさん
2017/07/30(日) 09:04:32.55ID:zdXHYEze >>609
Cakeでもいいから頭に入れてもらおうか
Cakeでもいいから頭に入れてもらおうか
613デフォルトの名無しさん
2017/07/30(日) 09:41:14.51ID:reLfmDHf 綺麗なコードは端的に読みやすくて再利用性が高いってイメージで使ってました
後から機能拡張し易い書き方とかもそうですね
基本的にはオブジェクト指向な感じです
後から機能拡張し易い書き方とかもそうですね
基本的にはオブジェクト指向な感じです
614デフォルトの名無しさん
2017/07/30(日) 09:42:29.47ID:ynobldaf615デフォルトの名無しさん
2017/07/30(日) 19:11:49.81ID:mbPMaYUG webbrowserコートロールにedgeが使えるようになるのはいつ頃でしょうか?
616デフォルトの名無しさん
2017/07/30(日) 19:15:45.46ID:lj6eZdZL 最初から使えるよ・・・
617デフォルトの名無しさん
2017/07/30(日) 20:45:25.67ID:dej2VYm/ >>614
よおボンクラ
よおボンクラ
618デフォルトの名無しさん
2017/07/30(日) 20:51:26.25ID:uWnLP08p >>614にまともな返事がない時点で勝負は決した
敗者は頭を下げるように
敗者は頭を下げるように
619デフォルトの名無しさん
2017/07/30(日) 20:58:34.14ID:dej2VYm/ >>618
Cakeって例が上がってるだろ
Cakeって例が上がってるだろ
620デフォルトの名無しさん
2017/07/30(日) 21:23:35.05ID:ynobldaf621デフォルトの名無しさん
2017/07/30(日) 21:38:52.09ID:hMQywZRx >>620
うん、ボンクラだから理解力皆無ってことね
うん、ボンクラだから理解力皆無ってことね
622デフォルトの名無しさん
2017/07/30(日) 21:42:33.26ID:Xb1IyPJ1 >>620
ねえねえもしかしてCakeのソースすら見たことないのかな?
ねえねえもしかしてCakeのソースすら見たことないのかな?
623デフォルトの名無しさん
2017/07/30(日) 21:43:27.07ID:SibjNbLq >>616
横レスだけど
https://social.msdn.microsoft.com/Forums/ja-JP/d0aeb9ca-c21e-43ea-8ed0-5eb309d96f9e/webview?forum=windowsgeneraldevelopmentissuesja
.NetFramework デスクトップアプリケーション用のWebView(WebBrowserコントロール)は以下の認識
でいますが間違いがないでしょうか?
1.Microsoft Internet Explorer 7が既定となっている。
2.レジストリ変更によりInternet Explorerのバージョンの変更が可能。
3.Internet Explorer以外のブラウザ(Microsoft Edge、Google Chrome)を使用できるコントロールはない。
このページの内容は間違っているの?
横レスだけど
https://social.msdn.microsoft.com/Forums/ja-JP/d0aeb9ca-c21e-43ea-8ed0-5eb309d96f9e/webview?forum=windowsgeneraldevelopmentissuesja
.NetFramework デスクトップアプリケーション用のWebView(WebBrowserコントロール)は以下の認識
でいますが間違いがないでしょうか?
1.Microsoft Internet Explorer 7が既定となっている。
2.レジストリ変更によりInternet Explorerのバージョンの変更が可能。
3.Internet Explorer以外のブラウザ(Microsoft Edge、Google Chrome)を使用できるコントロールはない。
このページの内容は間違っているの?
624デフォルトの名無しさん
2017/07/30(日) 21:45:05.94ID:hMQywZRx >>622
CakePHPとでも勘違いしてるんだろ
CakePHPとでも勘違いしてるんだろ
625デフォルトの名無しさん
2017/07/30(日) 21:53:49.94ID:ynobldaf >>618 で確定やね
626デフォルトの名無しさん
2017/07/30(日) 22:55:14.27ID:75orpNSa627デフォルトの名無しさん
2017/08/01(火) 18:41:49.84ID:ZyMYFMmz 質問。
これはどういうケースを想定したものなのか教えてくれ。
> フォーカス イベントと検証イベント
> (中略)
> マウスの使用、または Focus メソッドの呼び出しによってフォーカスを変更する場合、Control クラスのフォーカス イベントは次の順序で発生します。
> Enter
> GotFocus
> LostFocus
> Leave
> Validating
> Validated
> https://msdn.microsoft.com/ja-jp/library/86faxx0d(v=vs.90).aspx
現状固定的な画面のUIでやっていて、
ファイル名を入れるテキストボックスとその隣にopenFileDialogを呼ぶボタンを配置している。
まあ、よくあるUIだ。
これを、ボタンの領域をケチりたい(少しでも長くファイル名を表示したい)ので、
試しに動的なUIで「テキストボックスのEnterイベントでボタンが出現する」ようにしてみた。
ボタンはテキストボックスのLeaveイベントで消す。
ボタンを押すときは当然テキストボックスの外に出るので、
ボタンのEnterイベント、LeaveイベントでテキストボックスのLeaveイベントを -=, += している。
(後からMouseXXXXイベントも対応するから、今は突っ込まないでくれ)
さて、ここで、ボタンが押せない。
理由は簡単で、テキストボックスのLeaveの方がButtonのEnterよりも早く、ボタンがremoveされてしまうからだ。
これについて、上記を読む限り、Enterのほうが先、つまり、
ButtonのEnter -> TextBoxのLeave
だと思うのだが、とにかく、そうなってない。
上記ページはどういったケースについて記したものか、分かる人教えてよろしく。
或いはこのケースはどのページを参考にすべきなのだ?
これはどういうケースを想定したものなのか教えてくれ。
> フォーカス イベントと検証イベント
> (中略)
> マウスの使用、または Focus メソッドの呼び出しによってフォーカスを変更する場合、Control クラスのフォーカス イベントは次の順序で発生します。
> Enter
> GotFocus
> LostFocus
> Leave
> Validating
> Validated
> https://msdn.microsoft.com/ja-jp/library/86faxx0d(v=vs.90).aspx
現状固定的な画面のUIでやっていて、
ファイル名を入れるテキストボックスとその隣にopenFileDialogを呼ぶボタンを配置している。
まあ、よくあるUIだ。
これを、ボタンの領域をケチりたい(少しでも長くファイル名を表示したい)ので、
試しに動的なUIで「テキストボックスのEnterイベントでボタンが出現する」ようにしてみた。
ボタンはテキストボックスのLeaveイベントで消す。
ボタンを押すときは当然テキストボックスの外に出るので、
ボタンのEnterイベント、LeaveイベントでテキストボックスのLeaveイベントを -=, += している。
(後からMouseXXXXイベントも対応するから、今は突っ込まないでくれ)
さて、ここで、ボタンが押せない。
理由は簡単で、テキストボックスのLeaveの方がButtonのEnterよりも早く、ボタンがremoveされてしまうからだ。
これについて、上記を読む限り、Enterのほうが先、つまり、
ButtonのEnter -> TextBoxのLeave
だと思うのだが、とにかく、そうなってない。
上記ページはどういったケースについて記したものか、分かる人教えてよろしく。
或いはこのケースはどのページを参考にすべきなのだ?
628デフォルトの名無しさん
2017/08/01(火) 18:49:25.41ID:yNdQgkwx 移動先のEnterが先っていう説明じゃなくて
当該コントロールに入ってから出るまでのイベント発生順序なんじゃないの
当該コントロールに入ってから出るまでのイベント発生順序なんじゃないの
629デフォルトの名無しさん
2017/08/01(火) 18:50:37.36ID:V7LkTZZN visible
630デフォルトの名無しさん
2017/08/01(火) 18:52:41.34ID:V7LkTZZN というか
やり方が全くダメダメ
やり方が全くダメダメ
631デフォルトの名無しさん
2017/08/01(火) 19:19:16.59ID:ZyMYFMmz632デフォルトの名無しさん
2017/08/01(火) 19:20:55.16ID:IDglmNpI633デフォルトの名無しさん
2017/08/01(火) 19:29:13.42ID:ZyMYFMmz >>632
どう考えてもEnterはLeaveより先なんだから、普通に以下でいいだろ。
----
マウスの使用、または Focus メソッドの呼び出しによってフォーカスを『得る』と、
次の順序で Control クラスのフォーカス イベントが発生します。
Enter
GotFocus
マウスの使用、または Focus メソッドの呼び出しによってフォーカスを『失う』と、
次の順序で Control クラスのフォーカス イベントが発生します。
LostFocus
Leave
Validating
Validated
----
もしかして、別々に書いているのは、Control内部で状態保持していて、
キーボードでフォーカスを得た際は、マウスでフォーカスを失っても、別順
Leave
Validating
Validated
LostFocus
という超絶糞仕様だったりするの?もしかして?
> 相手が一つも限らない
いやFocusは常に一つだよな?
どう考えてもEnterはLeaveより先なんだから、普通に以下でいいだろ。
----
マウスの使用、または Focus メソッドの呼び出しによってフォーカスを『得る』と、
次の順序で Control クラスのフォーカス イベントが発生します。
Enter
GotFocus
マウスの使用、または Focus メソッドの呼び出しによってフォーカスを『失う』と、
次の順序で Control クラスのフォーカス イベントが発生します。
LostFocus
Leave
Validating
Validated
----
もしかして、別々に書いているのは、Control内部で状態保持していて、
キーボードでフォーカスを得た際は、マウスでフォーカスを失っても、別順
Leave
Validating
Validated
LostFocus
という超絶糞仕様だったりするの?もしかして?
> 相手が一つも限らない
いやFocusは常に一つだよな?
634デフォルトの名無しさん
2017/08/01(火) 20:23:22.15ID:mmKtfIMx >>627
テキストボックスのMouseDownにボタン用のイベントを入れる
MouseDownされた座標を調べてボタンの位置でなかったら実行しない
で一応は実現できると思う。ボタンは位置を示すためだけの飾りになる
その前にコントロール重ねるのもイベントが衝突しかねないのも良くないとは思う
テキストボックスのMouseDownにボタン用のイベントを入れる
MouseDownされた座標を調べてボタンの位置でなかったら実行しない
で一応は実現できると思う。ボタンは位置を示すためだけの飾りになる
その前にコントロール重ねるのもイベントが衝突しかねないのも良くないとは思う
635デフォルトの名無しさん
2017/08/01(火) 20:38:33.37ID:/TDpqH7O 前提条件を限定してエンジン側の仕様に文句言っても…
想定した前提条件に合致するように橋渡ししてやりゃいいんじゃない?
想定した前提条件に合致するように橋渡ししてやりゃいいんじゃない?
636デフォルトの名無しさん
2017/08/01(火) 20:39:44.45ID:7d8zSu3L >>633
変な考え方する人だな。
Enter発生後の状態って概念があるかどうかわからないけど仮にEner状態と呼ぶとして、
「EnterはLeaveより先」って仕様だと親子(入れ子)関係にない2つのコントロールが
同時にEner状態であることを許すことになるわけだけど、そのあたり考えて言ってるのかなそれ
変な考え方する人だな。
Enter発生後の状態って概念があるかどうかわからないけど仮にEner状態と呼ぶとして、
「EnterはLeaveより先」って仕様だと親子(入れ子)関係にない2つのコントロールが
同時にEner状態であることを許すことになるわけだけど、そのあたり考えて言ってるのかなそれ
637デフォルトの名無しさん
2017/08/01(火) 20:54:59.71ID:ZyMYFMmz >>634
実装はボタンを遅延消去(10ms)する方向で考えてる。
理由はそのほうがコードがスッキリするから。
コントロールは重ならない。
というかボタン出現時にテキストボックスをその分縮めるからだが。
>>636
知らんがな。
MSDN確認したらそう書いてあるからそう実装したら動かない、
じゃあ逆なんだろ、ってのは予想付くが、それで正しいのか?という疑問だ。
普通はLeave->Enterの順だと思うよ。HTMLはそうだし。
ただ.NETはそこら辺古くて、奇妙な仕様が残っていたりするから確認したかった。
ああ、だから、以下の書き方が一番いいのか。まあいいけど。
----
マウスの使用、または Focus メソッドの呼び出しによってフォーカスを変更すると、次の順序で Control クラスのフォーカス イベントが発生します。
LostFocus
Leave
Validating
Validated
Enter
GotFocus
実装はボタンを遅延消去(10ms)する方向で考えてる。
理由はそのほうがコードがスッキリするから。
コントロールは重ならない。
というかボタン出現時にテキストボックスをその分縮めるからだが。
>>636
知らんがな。
MSDN確認したらそう書いてあるからそう実装したら動かない、
じゃあ逆なんだろ、ってのは予想付くが、それで正しいのか?という疑問だ。
普通はLeave->Enterの順だと思うよ。HTMLはそうだし。
ただ.NETはそこら辺古くて、奇妙な仕様が残っていたりするから確認したかった。
ああ、だから、以下の書き方が一番いいのか。まあいいけど。
----
マウスの使用、または Focus メソッドの呼び出しによってフォーカスを変更すると、次の順序で Control クラスのフォーカス イベントが発生します。
LostFocus
Leave
Validating
Validated
Enter
GotFocus
638デフォルトの名無しさん
2017/08/01(火) 21:06:26.55ID:7d8zSu3L639デフォルトの名無しさん
2017/08/01(火) 21:11:05.05ID:yKWQrIWU 自分で何ともならん時は、理不尽でもそれを受け入れるのが職業エンジニアじゃね?
640デフォルトの名無しさん
2017/08/01(火) 21:12:41.25ID:ZyMYFMmz >>638
> 仕様バグ
それは違うだろ。どっちが組みやすいかはさておき、どちらの仕様でも組めるはず。
勝手にオレオレ仕様に決めつけるほうがまずいだろ。
俺も逆なのか?とは思ったよ。最近はHTMLに慣れてしまったので。
ただ今回に関してはEnterが先の方がコードは単純に済んだ。
一概にどっちがいいというものでもあるまい。
> 仕様バグ
それは違うだろ。どっちが組みやすいかはさておき、どちらの仕様でも組めるはず。
勝手にオレオレ仕様に決めつけるほうがまずいだろ。
俺も逆なのか?とは思ったよ。最近はHTMLに慣れてしまったので。
ただ今回に関してはEnterが先の方がコードは単純に済んだ。
一概にどっちがいいというものでもあるまい。
641デフォルトの名無しさん
2017/08/01(火) 21:28:30.68ID:7d8zSu3L >>640
違わない。
自分で書いてるでしょ。
入力フォーカスを持つコントロールは常に一つだと。
Enterが何を意味しているのかMSDNに書いてあるか知らないが、
普通に考えれば自分自身または子コントロールが入力フォーマスを持たないのに
「Enter状態」になるのは変で、そうであれば上の入力フォーカスの仕様と矛盾する
違わない。
自分で書いてるでしょ。
入力フォーカスを持つコントロールは常に一つだと。
Enterが何を意味しているのかMSDNに書いてあるか知らないが、
普通に考えれば自分自身または子コントロールが入力フォーマスを持たないのに
「Enter状態」になるのは変で、そうであれば上の入力フォーカスの仕様と矛盾する
642デフォルトの名無しさん
2017/08/01(火) 21:33:10.29ID:yDQeZmLh 馬鹿が暴れてるw
マウスは瞬間移動可能
周りの領域を通らないでいきなりenterだけ発生させることも可能だし
逆にleaveだけもありうる
マウスは瞬間移動可能
周りの領域を通らないでいきなりenterだけ発生させることも可能だし
逆にleaveだけもありうる
643デフォルトの名無しさん
2017/08/01(火) 21:37:33.35ID:ZyMYFMmz644デフォルトの名無しさん
2017/08/01(火) 21:38:49.91ID:yDQeZmLh Enterが先に起こるとフォーカスが同時に2つになってしまう
Enter内部でフォーカスのカウントしてたら困るだろ
Leaveが先に起こってカウント一個→0個→一個のほうがいい
Enter内部でフォーカスのカウントしてたら困るだろ
Leaveが先に起こってカウント一個→0個→一個のほうがいい
645デフォルトの名無しさん
2017/08/01(火) 21:53:10.60ID:yKWQrIWU フォーカスが移った時、ユーザーが見ているのは移った先の方だから
enterの処理を先にやったほうがレスポンスが早く感じる
てか、enterが先のほうが正義という理屈も有るんだから現状をバグと決めつけるのはどうかと思うよ
仕様を決めた人の裁量の範囲
enterの処理を先にやったほうがレスポンスが早く感じる
てか、enterが先のほうが正義という理屈も有るんだから現状をバグと決めつけるのはどうかと思うよ
仕様を決めた人の裁量の範囲
646デフォルトの名無しさん
2017/08/01(火) 21:54:46.29ID:7d8zSu3L 排他的な状態変化に連動する状態変化が排他的じゃなかったら矛盾に決まってるわけだけど、
こういうロジカルは話は通じない人には全然通じないね...
たぶん数学苦手だったタイプの人だと思うけど
こういうロジカルは話は通じない人には全然通じないね...
たぶん数学苦手だったタイプの人だと思うけど
647デフォルトの名無しさん
2017/08/01(火) 22:02:55.06ID:yKWQrIWU ロジカルが全てならleaveとenterは完全に同時発生しないとおかしいわけで
先にleaveと言っている時点で既にロジカルから妥協しているだろ
多分数学が得意だと思いこんでいたタイプの人だね
先にleaveと言っている時点で既にロジカルから妥協しているだろ
多分数学が得意だと思いこんでいたタイプの人だね
648デフォルトの名無しさん
2017/08/01(火) 22:13:48.41ID:yDQeZmLh まだや
649デフォルトの名無しさん
2017/08/01(火) 22:17:32.13ID:yDQeZmLh 途中で送ってしまった
が、それはどうでもいい
実際コードを書いて確認した
予想通りというか内容的には納得の内容の結果を得た
それになんでこんな仕組みになってるかも理解した
他に並んでいるイベントをよく見るとおやっと思ったのでそこをつついたらいい答えがでた
Enterは確実に後でなくてはいけない
理由がちゃんとある
てめえらで確認せえや
が、それはどうでもいい
実際コードを書いて確認した
予想通りというか内容的には納得の内容の結果を得た
それになんでこんな仕組みになってるかも理解した
他に並んでいるイベントをよく見るとおやっと思ったのでそこをつついたらいい答えがでた
Enterは確実に後でなくてはいけない
理由がちゃんとある
てめえらで確認せえや
650デフォルトの名無しさん
2017/08/01(火) 22:18:32.76ID:yDQeZmLh651デフォルトの名無しさん
2017/08/01(火) 22:21:58.45ID:yDQeZmLh そして
EnterやLeaveは過信してはならない
というか仕組みを理解しないで使ったらだめだなこれは
EnterやLeaveは過信してはならない
というか仕組みを理解しないで使ったらだめだなこれは
652デフォルトの名無しさん
2017/08/01(火) 22:25:45.32ID:yKWQrIWU >>651
シビアな場合はBeginInvoke噛まして、両方発生してから動かすのが吉だな
シビアな場合はBeginInvoke噛まして、両方発生してから動かすのが吉だな
653デフォルトの名無しさん
2017/08/01(火) 22:30:33.16ID:7d8zSu3L >>647
よく考えてから人を批判した方がいいよ
仮に一時的にどのコントロールもフォーカスを持たない状態が出来ても
入力フォーカスの排他性と矛盾しないが、2つのコントロールが同時に
入力フォーカスを持ったら矛盾する
よく考えてから人を批判した方がいいよ
仮に一時的にどのコントロールもフォーカスを持たない状態が出来ても
入力フォーカスの排他性と矛盾しないが、2つのコントロールが同時に
入力フォーカスを持ったら矛盾する
654デフォルトの名無しさん
2017/08/01(火) 22:36:38.37ID:yDQeZmLh 君らも思い込みで話さないでテストしたらいい
しつこく何度もやってると思ってるのと結果が違うから
しつこく何度もやってると思ってるのと結果が違うから
655デフォルトの名無しさん
2017/08/01(火) 22:45:07.88ID:yDQeZmLh 英語圏の人間じゃないから感覚がわからなかった
leave left left
leaveであってleftじゃないってこった
leave left left
leaveであってleftじゃないってこった
656デフォルトの名無しさん
2017/08/01(火) 23:04:17.70ID:ZyMYFMmz >>653
それは君のオレオレ正義仕様でしかないだろ。
世の中にはそうでないものもあるってことさ。
有名なのはPHPの三項演算子が左結合とか。
http://y-uti.hatenablog.jp/entry/2013/03/10/101020
仕様ってのはそう決められていれば仕様であって、
効率的でない/直感的でない/矛盾しているとかは別の話。
とはいえ、これらの場合は糞仕様と呼ばれることになるが。
それは君のオレオレ正義仕様でしかないだろ。
世の中にはそうでないものもあるってことさ。
有名なのはPHPの三項演算子が左結合とか。
http://y-uti.hatenablog.jp/entry/2013/03/10/101020
仕様ってのはそう決められていれば仕様であって、
効率的でない/直感的でない/矛盾しているとかは別の話。
とはいえ、これらの場合は糞仕様と呼ばれることになるが。
657デフォルトの名無しさん
2017/08/02(水) 00:04:23.74ID:hty1cPip だからオレオレとかそういう話じゃなくて、全体の仕様に矛盾があるかないかのっていうロジカルな問題なのw
好みが入り込む余地なんかどこにもないってのw
いってるそばからこれ>>646だね。
まさにバカの壁
好みが入り込む余地なんかどこにもないってのw
いってるそばからこれ>>646だね。
まさにバカの壁
658デフォルトの名無しさん
2017/08/02(水) 00:32:50.52ID:hty1cPip ボクシングでも何でもいいけど、排他的にしかタイトルホルダーになれないとしたら、
タイトルホルダーが誰もいないのは問題ないけど、同時に二人がタイトルホルダー
になるのはまずい。
だったら、「ダイトル返上」イベントの前に「タイトル獲得」イベントが発生する仕様は
破綻してるに決まってるじゃないの
タイトルホルダーが誰もいないのは問題ないけど、同時に二人がタイトルホルダー
になるのはまずい。
だったら、「ダイトル返上」イベントの前に「タイトル獲得」イベントが発生する仕様は
破綻してるに決まってるじゃないの
659デフォルトの名無しさん
2017/08/02(水) 00:37:07.47ID:FVLt41mC660デフォルトの名無しさん
2017/08/02(水) 00:41:26.26ID:hty1cPip まあバカの壁の向こう側の人に何言っても無駄だからこれ以上はどうぞお好きに。
自分の同僚にこういう人いなくてよかったw
自分の同僚にこういう人いなくてよかったw
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【前橋市】小川晶前市長とラブホテルで打ち合わせをした54歳男性職員を停職処分 今月末で依願退職するという [シャチ★]
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」★2 [ぐれ★]
- 【埼玉】「無免許で高速道路で事故」トラックの追突事故で10代男性死亡 無免許過失運転致死の疑いでトルコ国籍の男(22)逮捕 戸田市 [ぐれ★]
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★6 [七波羅探題★]
- 広島・廿日市、おこめ券配布せず 全市民に3000円現金給付へ [どどん★]
- 【警視庁】走行中の電車で女性に露出した下半身押しつけたか 無職の男(46)逮捕「チャンスがあればいつでもやる」 [nita★]
- 【実況】博衣こよりのえちえちチーズケーキを仕込み(雑談あり)🧪★2
- じゃあ何券だったら、日本人は満足したんだよ [452836546]
- 【速報】1ポンド210円で日英GDP逆転(残り1.5円)...世界6位の経済規模に転落 [237216734]
- 悪気はないのに、不意に相手を傷付けてしまう事ってあるんだな
- 朝日新聞記者「中国軍のレーダー照射はこめかみに銃を突きつけられたのと同じ。僕なら反撃して撃墜してる」高市 [931948549]
- 僕が未だに紙の単行本を集めてる漫画が「ご注文はうさぎですか?」「ゆるゆり」「大室家」「邪神ちゃんドロップキック」なんだが
