[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/26 17:31 / Filesize : 250 KB / Number-of Response : 1034
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C#, C♯, C#相談室 Part94



1 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 15:36:53.26 ID:S+KK7a41.net]
■Visual Studio 2015 Community & Express (無償の統合開発環境)等はこちら
www.visualstudio.com/downloads/

■コードを貼る場合はこちら
ideone.com/

■前スレ
C#, C♯, C#相談室 Part92 (実質93)
echo.2ch.net/test/read.cgi/tech/1485589613/

■次スレは>>970が建てる事
建てられない場合は他を指定する事。

577 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 17:18:42.17 ID:4kYE+X2u.net]
短くしなきゃいけないという強迫概念に襲われてるやつ多いけど、別に長くてもいいよ。気にすんな

578 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 17:20:30.90 ID:mbT3OJMo.net]
ソースをhttps://ideone.com/みたいなとこに張ったら一発だよ
ここのお兄さんがたが知恵を絞って色々批判してくれるよタダで
そしてそれが、すこしの恥とひきかえにおまいを成長させる

579 名前:デフォルトの名無しさん [2017/07/28(金) 18:19:30.49 ID:AFEjF9o4.net]
>>561>>562
どうもありがとうございます

580 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 19:57:56.53 ID:wfFGjuoD.net]
前略main(引数略)
{
処理a;
処理b;
処理c;
処理d;
リターン
}

581 名前:デフォルトの名無しさん [2017/07/28(金) 20:32:00.92 ID:AFEjF9o4.net]
なにやら、「Stateパターン」というのを使えばきれいになりそうです

582 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 21:13:19.68 ID:/6BVCD/F.net]
Stateはアンチパターン
「状態は明示的かつ最小限に」が今風

583 名前:デフォルトの名無しさん [2017/07/28(金) 21:20:18.20 ID:AFEjF9o4.net]
へ〜。
じゃあどうするとよいのでしょうか...

584 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 22:10:55.08 ID:2VdCpbf6.net]
いいから>>562のサイトにお前の書いたコード貼れ

585 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 22:13:50.04 ID:ItR12R6X.net]
ろくにコード書かない初心者ばかりのスレに貼ってもしょうがないな



586 名前:デフォルトの名無しさん [2017/07/28(金) 22:42:33.73 ID:AFEjF9o4.net]
https://ideone.com/cHsNov

これでどうか。
どなたか優しくご教授になってくださるとうれしいです...

587 名前:デフォルトの名無しさん [2017/07/28(金) 22:44:40.17 ID:AFEjF9o4.net]
ほんとにはじめたてです。
VisualVasic使ってますが、機能がいまいち使いこなせません。

588 名前:デフォルトの名無しさん [2017/07/28(金) 22:49:28.94 ID:AFEjF9o4.net]
>>570
のやつ思った通りに動かないやつでした。
また貼りにきます

589 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 22:54:19.21 ID:wndodTEE.net]
長い... か?

590 名前:デフォルトの名無しさん [2017/07/28(金) 22:54:29.48 ID:AFEjF9o4.net]
https://ideone.com/C2DZMv
です。よろしくお願いします。

591 名前:デフォルトの名無しさん [2017/07/28(金) 22:55:23.06 ID:AFEjF9o4.net]
>>573
これから内容増やしまくるので、
本体から離したいです。

592 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 23:55:21.82 ID:ai+ukChT.net]
プロジェクトまるごとどこかにUPした方が口出ししてもらえるかもよ

593 名前:デフォルトの名無しさん [2017/07/29(土) 00:21:01.93 ID:1x0TX8t+.net]
>>576
そうですね、ありがとうございます

594 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 00:22:42.64 ID:flgXEmXz.net]
>>574
分岐条件と処理の対応表作って飛ばすだけじゃだめなの?

595 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 00:29:09.54 ID:gp3BUyJn.net]
長い処理は長くていいと思うが保守目的なら、parial使ってソースファイル分けるのがいいかな。



596 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 00:56:00.91 ID:kJ48tJGw.net]
これはどうしようもないとまで言えないけど
こんなもんだろ

597 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 02:51:51.63 ID:gp3BUyJn.net]
すまん、スペルミス。partial ね。

598 名前:デフォルトの名無しさん [2017/07/29(土) 12:30:26.46 ID:1x0TX8t+.net]
>>580
こんなもんなんですね!
では気にせず書いていきたいと思います

>>581
partialについて勉強して、良さそうだったら使ってみようかと思います

ありがとうございました

599 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 12:37:15.78 ID:oSnm1RVH.net]
長いかどうかというか責務が分割されてるかだよ
責務が分割されてるなら自然と短くなる
ショートコーディングを突き詰めるのはその後

600 名前:デフォルトの名無しさん [2017/07/29(土) 12:41:24.13 ID:1x0TX8t+.net]
処理を1つ1つのシーンごとに完成させたいんですが、
キーイベントと描画で、一緒に書きたい部分が分けられちゃってるんです。
それを、できたらどうにかしたいと思います。

601 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 18:43:03.15 ID:gp3BUyJn.net]
ベースとなるシーンクラスを作る。キーイベントや描画の仮想関数も入れとく。
個々のシーンごとに、継承してクラスを作り、そこにキーイベントと描画を実装する。
ストーリー進行管理クラス作り、そこでシーンクラスの切り替えを行う。

602 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 19:23:12.73 ID:TPlqyDtD.net]
キーイベントをコマンドに変換してモデルに投げるクラス
モデルを描画するだけのクラス

これは分けとかないと後で泣くよ

603 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 20:14:15.70 ID:C4g3d83/.net]
C♯を触ってるけど、独習C♯をちょっとかじって、作りたい物ちょこちょこ適当に作ってるから綺麗なコードってのがよく分からない
このスレの人達はサンプルソース見たりとかやりやすい作法とかどうやって見つけてますか?

604 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 20:31:18.14 ID:TPlqyDtD.net]
>>587
本を読む
コードを書く
レビューする
レビューされる
常に考える

605 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 20:41:15.53 ID:C4g3d83/.net]
>>588
レビューする、されるは考えた事なかったですねー
作ってる物が物なだけにあんまり同じ方向でやるような思考が無かったのもありますが・・・
ありがとうございます



606 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 20:41:31.78 ID:iH5rcp7M.net]
>>587
GitHubの有名なプロジェクト見てみ

607 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 20:45:58.77 ID:C4g3d83/.net]
>>590
あー、そういうところから見るって手もあるんですね
こういう管理系統のモノ入れても使っていませんでしたが、そういう使い方もしたいですね

608 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 21:02:11.91 ID:zJVnUUbX.net]
>>590
こういうアドバイスする奴は実は自分でソース見たことない奴だと思うわ
結構癖のあるソース多いし考え方って想像以上にバラバラだから初心者が見たら余計に混乱するだけ

609 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 21:08:27.57 ID:nvDf8a0u.net]
本読んで勉強するレベルの奴はきれいなソースなんて考えなくていいよ
まずは動くソースかけるようになれよ
動くの書けたらごっちゃなソースになってるだろうから、そこで余裕があったら考えりゃいい
昨日の質問の奴みたいにその書いたソースに合わせてな

610 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 21:21:04.34 ID:AM/Q5FkU.net]
>>587
ブログで成果物のコード公開してみたら?
コメント等で指摘してもらえたりするかもよ?

611 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 21:34:41.88 ID:C4g3d83/.net]
>>592
使いたい機能で備忘録とかサンプルみたいなのは見たりするけど、
プロジェクトレベルで無いかなーとかは思ってたので、どんな感じかは興味ありますね

>>593
動くものはそこそこ作ってるんですけど、オブジェクト思考とかまったく勉強してないので、
関数切り貼りとか汎用関数適当にぶち込んだクラス使い回しで、ほぼベタ書きみたいなもんなんですよね
たまーに少し凝って少しずつ汎用度は上げてますが

>>594
やっぱり公開するのが一番手っ取り早い上達方法だとは自分も思います
自分で改善するには、現状の自分のレベルよりも上の人からきっかけ貰わないとそもそも気付けないパターンのが多いですし

基本的にはスクレイピングしてDBにデータを集めて、それを色々と分析するようなプログラム書いてるだけなので、
ベタでも動かすのは大体問題無いんですよね
しかし、こういう作法は効率悪いよとか、こういう書き方すればいいじゃんみたいな参考コードから
自分のコードに付け足したいってイメージでした

612 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 22:32:29.25 ID:1IyGodP3.net]
>>595
そういうのはC#よりPythonなどのスクリプト使ったほうがいいんじゃないか?
圧倒的に手っ取り早く作れるよ

613 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 22:42:14.14 ID:C4g3d83/.net]
>>596
Rubyでスクレイピングしてる参考書買ってちょっと書いてた時期あるんですが、それが少し動作遅かったのでC♯で移植してからずっとC♯使ってるんですよね
後はC♯のchartクラスとかも少し触ったりしてます

Pythonは触ったこと無いですが、作業内容に合わせてコーディング時間調整できるぐらい色んな言語触れる用になるのは目標ではありますね・・・

614 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 22:50:27.83 ID:d/bKk9xj.net]
Pythonだとmatplotlib使えばクソ簡単に高品質なグラフ描けるよ
スクレイピングがスクリプトで遅いのはXPathをうまく使えてないんじゃないかな
スクリプトを使うなら重い処理は極力ライブラリに丸投げするのがコツだ

615 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 23:02:02.11 ID:iH5rcp7M.net]
>>592
これがいわゆる井の中の蛙ってやつです



616 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 23:12:38.60 ID:TPlqyDtD.net]
スクレイピングはjsだろ

617 名前:デフォルトの名無しさん [2017/07/30(日) 03:04:38.72 ID:1m5312Xu.net]
>>587
その独習C#とかで書かれてるようなのがいわゆる綺麗なコード。
まあ、有名ライブラリ書いてるコミッタとかでもそんな綺麗じゃない場合もあるので、ぶっちゃけ優秀な成果物作ったもん勝ちってのはある。
勝てば官軍。
行儀のいい無能より、素行不良でも有能な奴が好まれるのはどの業界でもよくある。

勿論、綺麗なコード書けるに越した事はないけど。

618 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 04:38:20.28 ID:9ZftmVJd.net]
昔はDr.Dがレクチャーしてくれたのにな。

619 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 04:54:53.83 ID:ZiKC4drW.net]
スクレイピングはPowerShellでやってる

620 名前:デフォルトの名無しさん [2017/07/30(日) 05:57:53.68 ID:1fafOaKT.net]
「きれいなコード」とはまた違うのかもしれないけど、「C#らしい生産性の高いコード」ってなかなか書けないよね
C++やC++/CLIが高機能かつ安全になりすぎたせいもあってC#の優位性が失われた気がするんだよな
VisualStudioやVSCodeの補完機能の効きが違うせいでC++よりC#が使いやすいとか、機能が少ない分C#の方が他人の書いたコードが読みやすいとか、今となってはそれぐらいしかメリットが無い気がする

621 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 06:03:17.61 ID:Qmd4c3j+.net]
今のC++ってC#に匹敵するほど生産性高いの?

622 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 06:03:50.53 ID:lj6eZdZL.net]
生産性の高いコードは言語と無関係だと思うな

623 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 06:08:48.44 ID:ynobldaf.net]
>>599
お前が井戸からでて実際のコード見てから語れよ w

624 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 06:27:12.70 ID:9ZftmVJd.net]
生産性と保守性はトレードオフ。

625 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 07:18:45.15 ID:hMQywZRx.net]
>>607
見てないわけねーだろカスwww



626 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 07:57:39.53 ID:ynobldaf.net]
>>609
どこのソースを読んでどんなところがいいのか具体的に言ってみ

627 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 08:02:02.87 ID:6NpzZP8L.net]
さすがC#erはパッパラパーやな

628 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 08:08:37.81 ID:lj6eZdZL.net]
人のソース見てもたいていは小手先の表現しか参考にならない
汚いコードとの対比がないからな
人のソース見てそれ以上がわかるやつは相当デキル

629 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 09:04:32.55 ID:zdXHYEze.net]
>>610
Cakeでもいいから頭に入れてもらおうか

630 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 09:41:14.51 ID:reLfmDHf.net]
綺麗なコードは端的に読みやすくて再利用性が高いってイメージで使ってました
後から機能拡張し易い書き方とかもそうですね
基本的にはオブジェクト指向な感じです

631 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 09:42:29.47 ID:ynobldaf.net]
>>613
で、どんなところがいいのか説明してみ
名前だけならソースなんて見れないボンクラでも書けるし w

632 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 19:11:49.81 ID:mbPMaYUG.net]
webbrowserコートロールにedgeが使えるようになるのはいつ頃でしょうか?

633 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 19:15:45.46 ID:lj6eZdZL.net]
最初から使えるよ・・・

634 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 20:45:25.67 ID:dej2VYm/.net]
>>615
よおボンクラ

635 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 20:51:26.25 ID:uWnLP08p.net]
>>615にまともな返事がない時点で勝負は決した
敗者は頭を下げるように



636 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 20:58:34.14 ID:dej2VYm/.net]
>>619
Cakeって例が上がってるだろ

637 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 21:23:35.05 ID:ynobldaf.net]
>>620
日本語が理解できないのかな?

> 名前だけならソースなんて見れないボンクラでも書けるし w

638 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 21:38:52.09 ID:hMQywZRx.net]
>>621
うん、ボンクラだから理解力皆無ってことね

639 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 21:42:33.26 ID:Xb1IyPJ1.net]
>>621
ねえねえもしかしてCakeのソースすら見たことないのかな?

640 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 21:43:27.07 ID:SibjNbLq.net]
>>617
横レスだけど
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)を使用できるコントロールはない。

このページの内容は間違っているの?

641 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 21:45:05.94 ID:hMQywZRx.net]
>>623
CakePHPとでも勘違いしてるんだろ

642 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 21:53:49.94 ID:ynobldaf.net]
>>619 で確定やね

643 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 22:55:14.27 ID:75orpNSa.net]
>>624
1、2はIEのコントロールのことであってる
3はedgeもchrome系もコントロールあるから間違ってる

644 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 18:41:49.84 ID:ZyMYFMmz.net]
質問。
これはどういうケースを想定したものなのか教えてくれ。

> フォーカス イベントと検証イベント
> (中略)
> マウスの使用、または 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
だと思うのだが、とにかく、そうなってない。
上記ページはどういったケースについて記したものか、分かる人教えてよろしく。
或いはこのケースはどのページを参考にすべきなのだ?

645 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 18:49:25.41 ID:yNdQgkwx.net]
移動先のEnterが先っていう説明じゃなくて
当該コントロールに入ってから出るまでのイベント発生順序なんじゃないの



646 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 18:50:37.36 ID:V7LkTZZN.net]
visible

647 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 18:52:41.34 ID:V7LkTZZN.net]
というか
やり方が全くダメダメ

648 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 19:19:16.59 ID:ZyMYFMmz.net]
>>629
ああ、そういうことか。サンクス。
ただそれならFocusのGet/Lostで分離して書いていてくれれれば誤解無いのだが。

>>631
フォーカスは一つ(マウスは一つ)なのだから、
動的にadd/removeしても全く苦労しないし問題ないが。
当然visibleを使っても出来るが、同様にイベント順は見えるから同じ。(はず)

649 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 19:20:55.16 ID:IDglmNpI.net]
>>632
状況によって変わるものをどうやって書けと…

leaveとenterが常にセットで起こるとは限らん
相手が一つも限らない

650 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 19:29:13.42 ID:ZyMYFMmz.net]
>>633
どう考えてもEnterはLeaveより先なんだから、普通に以下でいいだろ。

----
マウスの使用、または Focus メソッドの呼び出しによってフォーカスを『得る』と、
次の順序で Control クラスのフォーカス イベントが発生します。
Enter
GotFocus

マウスの使用、または Focus メソッドの呼び出しによってフォーカスを『失う』と、
次の順序で Control クラスのフォーカス イベントが発生します。
LostFocus
Leave
Validating
Validated
----

もしかして、別々に書いているのは、Control内部で状態保持していて、
キーボードでフォーカスを得た際は、マウスでフォーカスを失っても、別順
Leave
Validating
Validated
LostFocus
という超絶糞仕様だったりするの?もしかして?

> 相手が一つも限らない
いやFocusは常に一つだよな?

651 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 20:23:22.15 ID:mmKtfIMx.net]
>>628
テキストボックスのMouseDownにボタン用のイベントを入れる
MouseDownされた座標を調べてボタンの位置でなかったら実行しない
で一応は実現できると思う。ボタンは位置を示すためだけの飾りになる
その前にコントロール重ねるのもイベントが衝突しかねないのも良くないとは思う

652 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 20:38:33.37 ID:/TDpqH7O.net]
前提条件を限定してエンジン側の仕様に文句言っても…
想定した前提条件に合致するように橋渡ししてやりゃいいんじゃない?

653 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 20:39:44.45 ID:7d8zSu3L.net]
>>634
変な考え方する人だな。

Enter発生後の状態って概念があるかどうかわからないけど仮にEner状態と呼ぶとして、
「EnterはLeaveより先」って仕様だと親子(入れ子)関係にない2つのコントロールが
同時にEner状態であることを許すことになるわけだけど、そのあたり考えて言ってるのかなそれ

654 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 20:54:59.71 ID:ZyMYFMmz.net]
>>635
実装はボタンを遅延消去(10ms)する方向で考えてる。
理由はそのほうがコードがスッキリするから。
コントロールは重ならない。
というかボタン出現時にテキストボックスをその分縮めるからだが。

>>637
知らんがな。
MSDN確認したらそう書いてあるからそう実装したら動かない、
じゃあ逆なんだろ、ってのは予想付くが、それで正しいのか?という疑問だ。
普通はLeave->Enterの順だと思うよ。HTMLはそうだし。
ただ.NETはそこら辺古くて、奇妙な仕様が残っていたりするから確認したかった。

ああ、だから、以下の書き方が一番いいのか。まあいいけど。

----
マウスの使用、または Focus メソッドの呼び出しによってフォーカスを変更すると、次の順序で Control クラスのフォーカス イベントが発生します。
LostFocus
Leave
Validating
Validated
Enter
GotFocus

655 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 21:06:26.55 ID:7d8zSu3L.net]
>>638
いや、仮にもエンジニアの端くれなら、「EnterはLeaveより先」って話を聞いたら
瞬間的に整合性がない(仕様バグ)話だなって思わないとまずいと思うよ



656 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 21:11:05.05 ID:yKWQrIWU.net]
自分で何ともならん時は、理不尽でもそれを受け入れるのが職業エンジニアじゃね?

657 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 2 ]
[ここ壊れてます]

658 名前:1:12:41.25 ID:ZyMYFMmz.net mailto: >>639
> 仕様バグ
それは違うだろ。どっちが組みやすいかはさておき、どちらの仕様でも組めるはず。
勝手にオレオレ仕様に決めつけるほうがまずいだろ。

俺も逆なのか?とは思ったよ。最近はHTMLに慣れてしまったので。
ただ今回に関してはEnterが先の方がコードは単純に済んだ。
一概にどっちがいいというものでもあるまい。
[]
[ここ壊れてます]

659 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 21:28:30.68 ID:7d8zSu3L.net]
>>641
違わない。
自分で書いてるでしょ。
入力フォーカスを持つコントロールは常に一つだと。

Enterが何を意味しているのかMSDNに書いてあるか知らないが、
普通に考えれば自分自身または子コントロールが入力フォーマスを持たないのに
「Enter状態」になるのは変で、そうであれば上の入力フォーカスの仕様と矛盾する

660 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 21:33:10.29 ID:yDQeZmLh.net]
馬鹿が暴れてるw

マウスは瞬間移動可能
周りの領域を通らないでいきなりenterだけ発生させることも可能だし
逆にleaveだけもありうる

661 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 21:37:33.35 ID:ZyMYFMmz.net]
>>642
君がどう考えるのも自由だが、俺は同意しないよ。
定常的には「フォーカスを持つのは常に一つ」だが、過渡的には実装次第だろ。
直感的には「フォーカスを持つのは常に一つ」の方がいいからそっちに揃っていることが多いだけで。
他で有名なのはRadioButtonで、
俺の勘違いでなければ.NETは仕様を変えてる。
そういうのがあるから確認しただけ。

ああだからそういった意味だと
> 相手が一つも限らない (>>633)
は俺の読み違いだな。彼はそこを指摘したのか。すまんかった。

662 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 21:38:49.91 ID:yDQeZmLh.net]
Enterが先に起こるとフォーカスが同時に2つになってしまう
Enter内部でフォーカスのカウントしてたら困るだろ

Leaveが先に起こってカウント一個→0個→一個のほうがいい

663 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 21:53:10.60 ID:yKWQrIWU.net]
フォーカスが移った時、ユーザーが見ているのは移った先の方だから
enterの処理を先にやったほうがレスポンスが早く感じる

てか、enterが先のほうが正義という理屈も有るんだから現状をバグと決めつけるのはどうかと思うよ
仕様を決めた人の裁量の範囲

664 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 21:54:46.29 ID:7d8zSu3L.net]
排他的な状態変化に連動する状態変化が排他的じゃなかったら矛盾に決まってるわけだけど、
こういうロジカルは話は通じない人には全然通じないね...

たぶん数学苦手だったタイプの人だと思うけど

665 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 22:02:55.06 ID:yKWQrIWU.net]
ロジカルが全てならleaveとenterは完全に同時発生しないとおかしいわけで
先にleaveと言っている時点で既にロジカルから妥協しているだろ

多分数学が得意だと思いこんでいたタイプの人だね



666 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 22:13:48.41 ID:yDQeZmLh.net]
まだや

667 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 22:17:32.13 ID:yDQeZmLh.net]
途中で送ってしまった
が、それはどうでもいい

実際コードを書いて確認した
予想通りというか内容的には納得の内容の結果を得た

それになんでこんな仕組みになってるかも理解した
他に並んでいるイベントをよく見るとおやっと思ったのでそこをつついたらいい答えがでた
Enterは確実に後でなくてはいけない
理由がちゃんとある
てめえらで確認せえや

668 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 22:18:32.76 ID:yDQeZmLh.net]
>>648
実験の結果
同時に起こってはいけないという結論に至った

669 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 22:21:58.45 ID:yDQeZmLh.net]
そして
EnterやLeaveは過信してはならない
というか仕組みを理解しないで使ったらだめだなこれは

670 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 22:25:45.32 ID:yKWQrIWU.net]
>>652
シビアな場合はBeginInvoke噛まして、両方発生してから動かすのが吉だな

671 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 22:30:33.16 ID:7d8zSu3L.net]
>>648
よく考えてから人を批判した方がいいよ

仮に一時的にどのコントロールもフォーカスを持たない状態が出来ても
入力フォーカスの排他性と矛盾しないが、2つのコントロールが同時に
入力フォーカスを持ったら矛盾する

672 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 22:36:38.37 ID:yDQeZmLh.net]
君らも思い込みで話さないでテストしたらいい
しつこく何度もやってると思ってるのと結果が違うから

673 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 22:45:07.88 ID:yDQeZmLh.net]
英語圏の人間じゃないから感覚がわからなかった

leave left left

leaveであってleftじゃないってこった

674 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 23:04:17.70 ID:ZyMYFMmz.net]
>>654
それは君のオレオレ正義仕様でしかないだろ。
世の中にはそうでないものもあるってことさ。
有名なのはPHPの三項演算子が左結合とか。
y-uti.hatenablog.jp/entry/2013/03/10/101020

仕様ってのはそう決められていれば仕様であって、
効率的でない/直感的でない/矛盾しているとかは別の話。
とはいえ、これらの場合は糞仕様と呼ばれることになるが。

675 名前:デフォルトの名無しさん mailto:sage [2017/08/02(水) 00:04:23.74 ID:hty1cPip.net]
だからオレオレとかそういう話じゃなくて、全体の仕様に矛盾があるかないかのっていうロジカルな問題なのw
好みが入り込む余地なんかどこにもないってのw

いってるそばからこれ>>647だね。
まさにバカの壁



676 名前:デフォルトの名無しさん mailto:sage [2017/08/02(水) 00:32:50.52 ID:hty1cPip.net]
ボクシングでも何でもいいけど、排他的にしかタイトルホルダーになれないとしたら、
タイトルホルダーが誰もいないのは問題ないけど、同時に二人がタイトルホルダー
になるのはまずい。

だったら、「ダイトル返上」イベントの前に「タイトル獲得」イベントが発生する仕様は
破綻してるに決まってるじゃないの

677 名前:デフォルトの名無しさん mailto:sage [2017/08/02(水) 00:37:07.47 ID:FVLt41mC.net]
>>659
破綻してはいないんだよ。
数学が得意なつもりだが実は馬鹿な人には分からないのだろうけど。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<250KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef