1 名前:デフォルトの名無しさん mailto:sage [2023/03/26(日) 07:31:00.51 ID:2LMOL5Ty0.net] !extend:checked:vvvvv:1000:512 !extend:checked:vvvvv:1000:512 次スレを立てる時は↑を3行冒頭に書くこと(1行分は消えて表示されない為、もう1行は予備) 「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。 他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。 内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。 C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください。見かけたらNGしましょう。相手してしまったらあなたも荒らしです >>980 を踏んだ人は新スレを建てて下さい。>>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 ■前スレ ふらっと C#,C♯,C#(初心者用) Part157 https://mevius.5ch.net/test/read.cgi/tech/1669349768/ ■関連スレ C#, C♯, C#相談室 Part97 https://mevius.5ch.net/test/read.cgi/tech/1671585518/ ■コードを貼る場合は↓を使いましょう。 https://ideone.com/ https://dotnetfiddle.net/ 初心者はまずVisual Studioを使いましょう。なおVisual Studioの使い方などに関しては各バージョンで違うので専用スレでお願いします www.visualstudio.com/downloads/ ■情報源 https://learn.microsoft.com/ja-jp/dotnet/standard/class-libraries https://learn.microsoft.com/ja-jp/dotnet/csharp/language-reference/ https://learn.microsoft.com/en-us/dotnet/standard/class-libraries https://referencesource.microsoft.com/ https://source.dot.net/ ・Insider.NET > .NET TIPS - @IT https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html ・DOBON.NET .NET Tips https://dobon.net/vb/dotnet/index.html ++C++; // 未確認飛行 C https://ufcpp.net/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
798 名前:デフォルトの名無しさん mailto:sage [2023/06/13(火) 08:00:47.90 ID:PEee/u2aa.net] そこからわからんなら使わなくていいぞ C#のスレだしな
799 名前:デフォルトの名無しさん mailto:sage [2023/06/13(火) 08:14:38.47 ID:rV2623H60.net] 支店のオーナーになって本店への併合を目指すゲームだよ
800 名前:デフォルトの名無しさん (ワッチョイ 8bbb-f0F1) [2023/06/14(水) 12:43:21.90 ID:zQTHCkUD0.net] >>789 githubも使い方gitと同じだから
801 名前:デフォルトの名無しさん (アウアウウー Sadd-g1CP) mailto:sage [2023/06/14(水) 13:01:51.20 ID:iWYHYN4ra.net] githubは差分を出してくれるけどcommitは差分じゃない
802 名前:デフォルトの名無しさん (アウアウウー Sadd-8W7i) mailto:sage [2023/06/14(水) 13:06:37.94 ID:GknXMRlPa.net] >>793 何を言ってるんだ?
803 名前:デフォルトの名無しさん (ワッチョイ 017c-1yE0) mailto:sage [2023/06/14(水) 14:17:45.17 ID:XWqksor40.net] バージョン管理なんだから差分とか考えるなよ 版管理だよ
804 名前:デフォルトの名無しさん (アウアウウー Sadd-8W7i) mailto:sage [2023/06/14(水) 14:31:03.19 ID:GknXMRlPa.net] 差分の表示 git diff head^^ head^
805 名前:デフォルトの名無しさん (オッペケ Sr05-8Dp1) [2023/06/16(金) 06:55:54.14 ID:OHuIfsqSr.net] 同一ネットワーク内の複数のPCで通信したいけどプロセス間通信って古いかな 今はSocketIOで非同期通信くらいしてないとダメかな ちなみにフォームアプリの予定w WPFは工数だけかかって面倒臭そう
806 名前:デフォルトの名無しさん (ワッチョイ 8907-8W7i) mailto:sage [2023/06/16(金) 07:13:30.39 ID:hLDZvlP60.net] 複数のPCでプロセス間通信てどれかをサーバーにするしかないじゃん リモートオブジェクトはなくなったぞ https://learn.microsoft.com/ja-jp/dotnet/core/porting/net-framework-tech-unavailable > .NET リモート処理は、.NET 6 以降ではサポートされていません。 .NET リモート処理は、問題のあるアーキテクチャであると判断されました。 これは、現在サポートされていないアプリケーション ドメインとの間の通信に使用されています。 また、リモート処理にはランタイム サポートも必要で、維持するのに高いコストがかかります。
807 名前:デフォルトの名無しさん (ワッチョイ 3102-2rqm) mailto:sage [2023/06/16(金) 08:13:22.22 ID:LNSu1MfD0.net] 複数のPCってのがざっくりしすぎてるな 1対多ならMinimalAPIでサーバ建てりゃいいんじゃね 詳細はググってくれ
808 名前:デフォルトの名無しさん (ワッチョイ a9e5-2rqm) mailto:sage [2023/06/16(金) 09:38:19.59 ID:8cf3Z2YQ0.net] 古いも何も、Socketで通信してようが他プロセスと通信する物はすべてプロセス間通信だろ
809 名前:デフォルトの名無しさん (アウアウウー Sadd-g1CP) mailto:sage [2023/06/16(金) 10:04:28.26 ID:ly+Q1cW8a.net] RPCとSocketIOを会話上で使い分けたいって意味かな
810 名前:デフォルトの名無しさん (ササクッテロラ Sp05-mItu) mailto:sage [2023/06/16(金) 10:39:19.11 ID:ZjNkxhYgp.net] いやいや実態が同じでも目的が違うだろ
811 名前:デフォルトの名無しさん (スフッ Sd33-pDI4) mailto:sage [2023/06/16(金) 12:48:25.83 ID:AFoiPDKcd.net] ほらね https://futureys.tokyo/what-happens-when-commit-large-file-on-git/
812 名前:デフォルトの名無しさん (オッペケ Sr05-VFpa) mailto:sage [2023/06/16(金) 13:37:11.38 ID:JZEl94b2r.net] やっぱ Mercurial だな。
813 名前:デフォルトの名無しさん (ワッチョイ b178-2rqm) mailto:sage [2023/06/16(金) 17:03:12.15 ID:kBMaOVut0.net] bazaar だろ
814 名前:デフォルトの名無しさん (ブーイモ MMeb-BK+T) [2023/06/16(金) 17:19:58.24 ID:wS8/ZvHAM.net] >>797 どういうプロトコルでのプロセス間通信?
815 名前:デフォルトの名無しさん (アウアウウー Sadd-8W7i) mailto:sage [2023/06/16(金) 17:58:26.69 ID:xumbESuca.net] >>803 サイズのことなら後で最適化されるぞw
816 名前:デフォルトの名無しさん (スップ Sd33-h5Ja) mailto:sage [2023/06/16(金) 20:02:10.64 ID:BdjqvBhXd.net] そういえば、IpcServer使ってる。 ちゃんと動いてるし、もう、変えたくないわぁ
817 名前:デフォルトの名無しさん (スップ Sd33-h5Ja) mailto:sage [2023/06/16(金) 20:06:39.73 ID:BdjqvBhXd.net] ぎりぎりまで、.netcore系には移りたくないね
818 名前:デフォルトの名無しさん (オッペケ Sr05-Cr01) [2023/06/16(金) 22:22:57.11 ID:koUma95Nr.net] 既存のアプリケーションを移行したくないのはわかる けど、null不許容参照型が使えないのはいまどきあり得ない
819 名前:デフォルトの名無しさん (ワッチョイ 1379-hEWj) mailto:sage [2023/06/16(金) 23:36:36.10 ID:sUccxFc+0.net] これだからフレームワークありきの環境はダメなんだよ やっぱC/C++しか信じられん!…ってなるのぉ?
820 名前:デフォルトの名無しさん (ワッチョイ 79ac-t2KC) mailto:sage [2023/06/17(土) 01:27:12.96 ID:96RBnRrs0.net] 金無限にあるならともかく、現実はフレームワーク使わんと採算とれないことがそこそこある
821 名前:デフォルトの名無しさん (ワッチョイ a2bd-L1I+) mailto:sage [2023/06/17(土) 05:59:53.37 ID:3A62XWi80.net] >>798 「リモート処理」って訳されていて最初ピンとこなかったけど、 英語ページを見たらやっぱり.NET Remotingのことなのね。
822 名前:デフォルトの名無しさん (ワッチョイ b1e5-C6j3) mailto:sage [2023/06/17(土) 08:16:10.20 ID:uo5kyeT50.net] >>810 警告がうざったい……
823 名前:デフォルトの名無しさん (ワッチョイ b6da-RnTl) mailto:sage [2023/06/21(水) 22:15:02.05 ID:hW8H2hzX0.net] コンパイラのnullチェックもLinq to SQLが混じるとうまく働かないね。 まぁ限界があるのは分かる
824 名前:デフォルトの名無しさん (ワッチョイ d242-C6j3) mailto:sage [2023/06/22(木) 01:03:28.84 ID:AGxh0AyX0.net] Linq To SQLは大昔に終わっているからうまく動かないかもな
825 名前:デフォルトの名無しさん (ワッチョイ 3274-hrKI) [2023/06/22(木) 04:35:53.17 ID:CPcSxaDF0.net] わたしは今からLinq To SQLを勉強しようといろいろ川俣の本を買ったのですが。
826 名前:デフォルトの名無しさん (ワッチョイ 8554-dYQK) mailto:sage [2023/06/22(木) 05:01:31.04 ID:Xft5ksI80.net] 自分自身にとって明確な理由やメリットがあって勉強するならいいと思う。 理由もなく、存在を知ったから目的ないのに勉強するというなら勉強不要。 たとえ話になるけど、ガチでプロ選手目指す野球少年なら野球の練習する意味あるけど、 大谷の話題で野球に興味持ったニワカが、目的なく練習しても意味ないでしょ。
827 名前:デフォルトの名無しさん (ワッチョイ ad7c-ZjIi) mailto:sage [2023/06/22(木) 05:23:50.74 ID:fUhg+N3Z0.net] そうでも無いやろ プロになる気が無くても野球やってみたら才能がある事に気付いたとかあるやん プロの選手だって高校までは別の競技やってたとか2つ同時にやってたとかあるやん
828 名前:デフォルトの名無しさん (ワッチョイ f642-C6j3) mailto:sage [2023/06/22(木) 07:28:29.12 ID:oInj3jkO0.net] 勉強するならLinq To SQLより後継のefやる方が賢いとは思う 具体的な仕事があるなら別だが
829 名前:デフォルトの名無しさん (ワッチョイ 6107-Tk+b) mailto:sage [2023/06/22(木) 07:31:19.22 ID:U7fCu9Ru0.net] efはefで欠点多いからなぁ 自分で選べるならDapperが最強
830 名前:デフォルトの名無しさん (ワッチョイ ad7c-ZjIi) mailto:sage [2023/06/22(木) 09:08:14.28 ID:fUhg+N3Z0.net] WebなんかでステートレスならDapperで良いけどデスクトップアプリなんかでステートフルならEFの変更追跡なきゃだるいやん 用途で選べばいいんだよ
831 名前:デフォルトの名無しさん (アウアウウー Sacd-Tk+b) mailto:sage [2023/06/22(木) 09:21:07.30 ID:8AaELlpYa.net] 変更追跡が役に立つ場面なんてほぼ無いよ 速度は無茶苦茶遅いし どうしても追跡したいならDapperで使うクラスに変更通知やIEditableObjectでも仕込んでおいたほうがいい
832 名前:デフォルトの名無しさん (スッップ Sdb2-6ESG) mailto:sage [2023/06/22(木) 13:34:23.63 ID:iyk8obpJd.net] そろそろ的外れなたとえ話は罪に問えるようにするべきだな
833 名前:デフォルトの名無しさん (ワッチョイ 22ea-hRAP) mailto:sage [2023/07/07(金) 20:47:23.54 ID:BdypaOA90.net] visual studioのformでプロジェクトデザイナーの設定settings.settingsでint型の配列を使いたいん [10]個ぐらいなんですけど、windowsFormでいい設定の保存方法ありますか?
834 名前:デフォルトの名無しさん (ワッチョイ 0610-Mrss) mailto:sage [2023/07/07(金) 22:10:36.42 ID:VQ1+4DlV0.net] >>825 デザイナーからじゃなくて直接Properties/Settings.settings/Settings.Designer.csに書けばいけるよ でもデザイナ触るとcs上書きされるからまた追記しないといけないけどね https://ideone.com/tJGGHq
835 名前:デフォルトの名無しさん (ワッチョイ 22ea-hRAP) mailto:sage [2023/07/07(金) 22:51:58.76 ID:BdypaOA90.net] >>826 さんくすです、デザイナーをいじらずListを追加するんですね Settings.Designer.csを書き換えたことをどこかに書いとかないとダメですね [] [ここ壊れてます]
837 名前:デフォルトの名無しさん (アウアウウー Sabb-DX8j) mailto:sage [2023/07/07(金) 23:11:34.06 ID:G77vHYnia.net] なんでpartialクラス使わねーの?
838 名前:デフォルトの名無しさん (ワッチョイ 22ea-hRAP) mailto:sage [2023/07/07(金) 23:28:40.56 ID:BdypaOA90.net] >>828 Settings.csの partial class Settingsを使えってことでしょうか?
839 名前:デフォルトの名無しさん (アウアウウー Sabb-DX8j) mailto:sage [2023/07/07(金) 23:43:30.04 ID:G77vHYnia.net] >>829 そっちが人間が書き換える用のファイル
840 名前:デフォルトの名無しさん (ワッチョイ 9fea-kkOg) mailto:sage [2023/07/08(土) 08:13:42.94 ID:91Ogp97S0.net] >>830 サンクスですSettings.csに書けば上書きされないってことですね
841 名前:デフォルトの名無しさん (スッップ Sdbf-CFBc) mailto:sage [2023/07/09(日) 13:11:44.65 ID:Dnv+EbFzd.net] 通知領域のアイコンをクリックすると現れるメニューを複数列にしてみたいです こういう場合は自作コントロールを作成する必要があると考えればよいですか? この辺は未経験なので自分にはハードル高そうですが 昔から使わせて頂いてるMr.Clipboardというソフトウェアに類似するものを作ることが目標です。
842 名前:デフォルトの名無しさん (スッップ Sdbf-CFBc) mailto:sage [2023/07/09(日) 13:23:58.06 ID:Dnv+EbFzd.net] ん~contextMenuStripとかをいじって自作コントロールを作るという高いハードルを越えるより 通知領域アイコンをクリックした時に、メニューに似せたフォームが、ちょうどメニューが表示されるような位置に現れるようにしたほうがいいのかな・・・実現可能性は高そう Mr.Clipboardの作者さんはどうやってこういうものを作ったんだろう
843 名前:デフォルトの名無しさん (オッペケ Sr0b-kkOg) mailto:sage [2023/07/09(日) 14:28:31.42 ID:qTcsfTmnr.net] 古そうなソフトウェアだから そもそもContextMenuStripじゃなくてContextMenu(=COMCTL32)を使ってるんじゃないかな 使ったことないから知らんけどひょっとしたら何かデフォルトで2列表示できる機能が備わってたりして
844 名前:デフォルトの名無しさん (スッップ Sdbf-CFBc) mailto:sage [2023/07/09(日) 15:40:32.78 ID:Dnv+EbFzd.net] >>834 ありがとうございます 画像貼れればいいのですが規制されててダメなんですごめんなさい Mr.Clipboardを自分のPCで今使っているのですが、通知領域のアイコンをクリックすると、10列表示されます。 文字列を登録することができるのですが、登録数をふやすほど列も増えていく仕様なんです 列数だけではなく、1列当たりの行数なども柔軟に扱えないと実現できないのかなと思ってます。 一応>>833 の方向性でやってみることにしました 継承やらオーバーライドやら試してみたい気持ちもあったのですが、.そもそもNETのソースコードを正しく読み解く自信が・・・
845 名前:デフォルトの名無しさん (ワッチョイ 3768-rqKn) mailto:sage [2023/07/09(日) 16:18:02.54 ID:rFc2qelE0.net] 現在進行形でC#の仕事してるけどプログラミングよりもgitとかのほうが難しい マーキュリアル開いて出てきたMQ パッチ適用がどうたらって何のこと?
846 名前:デフォルトの名無しさん (ワッチョイ 9f80-KChr) mailto:sage [2023/07/09(日) 16:26:49.16 ID:W7Z8cVLl0.net] Git の質問かと思ったら、マーキュリアルの話始めたり 精神分裂症かな
847 名前:デフォルトの名無しさん (ワッチョイ 9701-xBPm) mailto:sage [2023/07/10(月) 01:02:30.69 ID:qL1vqKUB0.net] 混在してるか移行中のPJで初心者故に両者がごっちゃになってるだけだとエスパーしてみます
848 名前:デフォルトの名無しさん (スップ Sd3f-mu37) mailto:sage [2023/07/10(月) 07:18:29.54 ID:BXZpIYtLd.net] 単に物を知らないのをバカにしたいだけで本気で精神分裂症とは思っとらんだろ
849 名前:デフォルトの名無しさん (ワッチョイ 9f80-KChr) mailto:sage [2023/07/10(月) 09:42:06.39 ID:zUnHM/go0.net] C#ってプロジェクトを作らないとコンパイル出来ないんでしょうか? main関数のあるHelloWorld.csだけでコンパイルするのは無理?
850 名前:デフォルトの名無しさん (ワッチョイ f7c6-knyK) mailto:sage [2023/07/10(月) 09:50:21.18 ID:jFNuf9xo0.net] csc.exeを直接実行すれば*.csだけでもコンパイルできるよ Linux向けとかはどうか知らないけど
851 名前:デフォルトの名無しさん (ササクッテロラ Sp0b-JJLP) mailto:sage [2023/07/10(月) 10:13:07.78 ID:bDJ4URo4p.net] >>840 C#がインタプリタ的に使えるのって案外知られて無いんだなぁ
852 名前:デフォルトの名無しさん (ワッチョイ 9f80-KChr) mailto:sage [2023/07/10(月) 10:33:54.46 ID:zUnHM/go0.net] >>841 Linuxには無さげですね dotnetコマンドでも無理そう
853 名前:デフォルトの名無しさん (ワッチョイ 9f80-KChr) mailto:sage [2023/07/10(月) 10:59:12.77 ID:zUnHM/go0.net] >>842 dotnet-repl を入れたら実行結果の確認は出来るようになった ありがとう
854 名前:デフォルトの名無しさん (アウアウウー Sa9b-Pj0o) mailto:sage [2023/07/10(月) 12:41:26.24 ID:h4a2e+7ia.net] シェルスクリプト代わりにするならC#使うよりPowerShellの方が便利だから batはそろそろ滅べ
855 名前:デフォルトの名無しさん (ワッチョイ bf79-CBkq) mailto:sage [2023/07/10(月) 12:44:12.34 ID:pvSg+WfU0.net] powershellでええやん
856 名前:デフォルトの名無しさん (アウアウクー MM0b-xBPm) mailto:sage [2023/07/10(月) 13:19:11.50 ID:otun5GpPM.net] batとの互換性が中途半端なのがイラつきますけどね
857 名前:デフォルトの名無しさん (アウアウウー Sa9b-Pj0o) mailto:sage [2023/07/10(月) 14:17:36.82 ID:h4a2e+7ia.net] batみたいな化石との互換性なんか要らんだろ PowerShell使えばC#もそのまま動くぞ https://codezine.jp/article/detail/5007
858 名前:デフォルトの名無しさん (ブーイモ MM8f-9ZAg) mailto:sage [2023/07/11(火) 22:56:21.27 ID:0HX/1I5LM.net] talkで質問集まってるみたいだから向こうに行くかな
859 名前:デフォルトの名無しさん (スププ Sdbf-1L5A) mailto:sage [2023/07/12(水) 01:00:39.52 ID:WP87K7PTd.net] おう、二度と戻ってくるなよ
860 名前:デフォルトの名無しさん (オッペケ Sr0b-B87o) mailto:sage [2023/07/14(金) 11:09:10.37 ID:SW9fkks0r.net] 少しはここもまともになるかな
861 名前:デフォルトの名無しさん (オッペケ Sr0b-jHc6) mailto:sage [2023/07/14(金) 11:21:59.88 ID:gWjfvyvyr.net] プログラム板住人誰も移住してなさそうだから変わらないんじゃない?
862 名前:デフォルトの名無しさん (ワッチョイ 7f2d-/79E) mailto:sage [2023/07/14(金) 11:29:58.
] [ここ壊れてます]
863 名前:62 ID:FrJI/jtz0.net mailto: あっちはスレッドだけ出来てて中身が空なのばっかりじゃん C#関連スレは全て1件もレス付いてない [] [ここ壊れてます]
864 名前:デフォルトの名無しさん (オッペケ Sr0b-WUNe) mailto:sage [2023/07/14(金) 13:15:57.44 ID:o+Lvn4Uxr.net] jane styleってC#で開発したって聞いたが勘違いかな
865 名前:デフォルトの名無しさん (ワッチョイ 57a7-xgtz) mailto:sage [2023/07/14(金) 13:19:10.56 ID:0qf2Hag/0.net] Delphiだから勘違いだね Delphiの発明者が後のC#の発明者と同一人物だからそういう勘違いが生まれたのでは
866 名前:デフォルトの名無しさん (スププ Sdbf-Gz7C) mailto:sage [2023/07/14(金) 17:53:33.20 ID:L1fXIk/+d.net] 発明されたんだ
867 名前:デフォルトの名無しさん (ワッチョイ 95ad-tdBp) [2023/07/15(土) 12:52:20.24 ID:x4tryG3A0.net] 初心者です。 非同期メソッドにCancellationTokenを渡して、エラーハンドリングを行う必要があることを知りました。CancellationTokenSourceからCancellationTokenを作成して、非同期メソッドに渡していくところまではできました。ただ、ネストが深い非同期メソッド内でトークンをキャンセルしたいときに、どのようにキャンセルすれば良いのか分からない状況です。 非同期メソッドからCancellationTokenSourceのCancelメソッドはどのように呼べば良いのでしょうか。
868 名前:デフォルトの名無しさん (ワッチョイ 665f-bpoS) mailto:sage [2023/07/15(土) 12:56:18.34 ID:IVtLjRqQ0.net] 【えっ】Perlに未来はあるのか?【終わり?】
869 名前:デフォルトの名無しさん (JP 0H62-9/0y) mailto:sage [2023/07/15(土) 13:15:08.16 ID:KExn0jd0H.net] トークンをキャンセルする権限を持ってるのは非同期処理側じゃなくて呼び出し元だと思うんだけど・・・ (だからcancellationTokenSourceを持ってる人だけがCancel()を実行できる) 呼び出し元から指図されたわけじゃないけど自発的にキャンセルしたいってことなら throw new OperationCanceledException(token) とでもすればいいんじゃないかな
870 名前:デフォルトの名無しさん (ワッチョイ ca2d-2eqx) mailto:sage [2023/07/15(土) 13:42:20.93 ID:m7eEyKEv0.net] それはtokenの状態と整合性取れないし不自然だろう 普通に(キャンセルしたいと判断した)要因に合った例外使えば済む話だ
871 名前:デフォルトの名無しさん (ワッチョイ 95ad-tdBp) [2023/07/15(土) 15:05:06.38 ID:x4tryG3A0.net] >>859 >>860 ご回答ありがとうございます。 awaitしている非同期メソッド内で例外を投げて、呼び出し元でcancellationTokenSource.Cancelしてキャンセルする、というのはできました。 ただ、awaitしない非同期メソッド内で例外を投げてもcatchできず、呼び出し元でcancellationTokenSource.Cancelできない状況です。 awaitして、非同期メソッド内で例外を投げて呼び出し元でキャンセルするしかないのでしょうか。
872 名前:デフォルトの名無しさん (ワッチョイ ca2d-2eqx) mailto:sage [2023/07/15(土) 16:17:24.24 ID:m7eEyKEv0.net] >>861 awaitしない非同期メソッドのタスクにContinueWith()で後続タスクを作って、その中でキャンセルかな。 後続タスクの実行条件はConinueWith()の引数にTaskContinuationOptionsを指定すれば変更出来る。 (エラーが起きた時のみ実行するとか)
873 名前:デフォルトの名無しさん (スッップ Sd94-XM1G) mailto:sage [2023/07/15(土) 17:39:44.49 ID:q/a2phH1d.net] windowsアプリ作る時にform2の幅をコンストラクタ内で指定しても 136未満だと勝手に136に広げられてしまうんだね 知らなくて原因究明するのに時間かかった
874 名前:デフォルトの名無しさん (ワッチョイ 87e5-XQTJ) mailto:sage [2023/07/17(月) 11:07:42.07 ID:fKATz6pi0.net] MinimumSizeにそう設定されてるだけでは
875 名前:デフォルトの名無しさん (ワッチョイ ca2d-2eqx) mailto:sage [2023/07/17(月) 12:47:25.02 ID:oq1oEUQ30.net] >>863 FormBorderStyleプロパティがNone、ToolWindow系、その他で幅が変わるね。 ToolWindowだとタイトルバーに表示されるボタンの有無でもちょっと変わって、 ControlBox = falseの時が一番小さく出来る。 何故かNoneの時が一番大きくなる。 >>864 MinimumSizeがSize(0,0)でもなる
876 名前:デフォルトの名無しさん (ワッチョイ 3210-2eqx) [2023/07/17(月) 21:11:29.34 ID:hjrHtCYP0.net] 自作クラスのインスタンス化したときに、 そのインスタンスのプロパティを設定するやりかた? を教えてください。 うまい言い方ができないので、例を示します。 自作クラスで class Square { double width double height } があったとして、 Square square = new Square(){width = 3, height =2} としたならば、 console.Writeline (square.ToString()) とすると 6 と表示されるようなイメージです。 何がしたいのかというと、 IPropertyChanged を使って、中の プロパティが変化したときに、square が変わったということを認知したいのです。
877 名前:デフォルトの名無しさん (ワッチョイ 3279-EJzg) mailto:sage [2023/07/18(火) 02:03:58.47 ID:BpIlHiPB0.net] Writelineで6を表示したければToStringをoverrideしてやればいいだろうまでは思いましたが 貼られたコードと「何がしたいのかというと」が全く繋がってなくて、恐らくこれは誰も質問を理解できてない状況ではないでしょうか 私の感想としてはIPropertyChangedとやらを使いたければ使えばいいだけの話ではないでしょうか
878 名前:デフォルトの名無しさん (ワッチョイ ca2d-2eqx) mailto:sage [2023/07/18(火) 02:28:36.72 ID:GDp0BnYT0.net] 例には書いてないけどIPropertyChangedイベントを購読して、イベントが来たらConsole.WriteLine()するんでしょう で、IPropertyChangedの実装方法が知りたいと public class Square : INotifyPropertyChanged { public event PropertyChangedEventHandler? PropertyChanged; private void SetProperty< T >( ref T field, T value, [CallerMemberName]string propertyName = null ) { if ( field.Equals( value ) ) { return; } field = value; PropertyChanged?.Invoke( this, new PropertyChangedEventArgs( propertyName ) ); } private double _width; public double Width { set => SetProperty( ref _width, value ); get => _width; } private double _height; public double Height { set => SetProperty( ref _height, value ); get => _height; } }
879 名前:デフォルトの名無しさん (ワッチョイ 87e5-XQTJ) mailto:sage [2023/07/18(火) 08:44:49.63 ID:3b5O2M5n0.net] >>863 >>865 なんか頭の中で136ってもっとおっきいイメージになってた、すまないw アイコンやコントロールボタンが表示できる最低サイズだったね 面白いことに、FormBorderStyle=Noneの時に コンストラクタでどんだけ小さいWidth指定しても136になるけど その後でShown等のフォームが生成された後の時点でWidth指定すると2までは縮まるんだな SizableとかだとShownでやっても136になるけど
880 名前:デフォルトの名無しさん (スッップ Sd94-XM1G) mailto:sage [2023/07/18(火) 10:03:44.12 ID:W6YFjoCEd.net] >>865 >>869 はーやっぱり知識ある人は知ってるんですねー こういう理屈じゃないところでいちいち悩まないといけないのが大変ですわ まったく別の話なんですけど、 今これ>>832 作ってて面白いこと気づきました MouseClickイベントって右クリック・左クリック別に処理を分けられないじゃないですか e.Button == MouseButton.Left とかが使えるMouseDown使えって言われるんですけど bool isRightClickみたいなフィールドつくって、MouseDownのイベントハンドラで右・左判別して結果をisRightClickに設定 んで、MouseDownイベントの直後にMouseClickイベントも発生するからこいつのハンドラでisRightClickを取得して右・左別に処理わけることができた! ってこれもみんな普通にやってんのかな・・・自分としては大発見なのだが。 今左右クリックやD&Dで細かい動きを作ってるんでこれは貴重な発見だった
881 名前:デフォルトの名無しさん (スププ Sd94-uP9V) mailto:sage [2023/07/18(火) 10:04:51.17 ID:5Ch5Zuv0d.net] >>867 >>868 ありがとうございます 質問のしかたが悪くうまく伝わっていないのですが回答は知りたかったことの一部でもありその部分については理解しました。 public class Hoge :IpropertyChanged { public Square square } とした時に squareが値をもっていないことから、methodでsquare.widthの値を変えたとしてもsquareか変化したことを認識できないとの理解です SquareにIPropertyChangedを噛ませてhogeのpropertyが変わったとする方法もあるのかも知れませんがsquare自身に値を持たせる方法があったら教えて下さい
882 名前:デフォルトの名無しさん (ワッチョイ 87e5-XQTJ) mailto:sage [2023/07/18(火) 10:25:56.29 ID:3b5O2M5n0.net] >>870 何のMouseClickイベントのこと? FormやNotifyIconのMouseClickイベントならe.Button使えるはずだけど
883 名前:デフォルトの名無しさん (スッップ Sd94-XM1G) mailto:sage [2023/07/18(火) 11:52:13.49 ID:W6YFjoCEd.net] >>872 今いろいろ確認して、間違えてたことが分かりました ごめんなさい 複数のラベルをForm上に動的配置したうえで、このラベル全てにクリック系のイベントを追加したんです。 この際、イベントハンドラも自分でコードを書いたのですが、Label_MouseClickイベントハンドラの引数である e の型を、間違えてMouseEventArgsではなくEventArgsとしていたため、e.Buttonが使えなかったというオチでした。 e.Buttonが使えない点を除いて問題なく動いていたので気づきませんでした ふぅ・・・何やってんだか・・・
884 名前:デフォルトの名無しさん (スッップ Sd94-XM1G) mailto:sage [2023/07/18(火) 12:01:06.39 ID:W6YFjoCEd.net] MouseDown使わないといけないのはVBAでした 知識がぐちゃぐちゃになってました
885 名前:デフォルトの名無しさん (ワッチョイ e979-9/0y) mailto:sage [2023/07/18(火) 13:43:10.65 ID:hAXktsXG0.net] 赤あげて、白あげて、白下げないで、赤下げる♪ 左押して、右押して、右離さずに、左離す♪
886 名前:デフォルトの名無しさん (ワッチョイ 73ae-/jfo) [2023/07/18(火) 14:42:32.76 ID:INtka+wY0.net] VBAはVB.netに仕様変更する気が無いんだろうな・・・
887 名前:デフォルトの名無しさん (ワッチョイ a6cd-LhHw) mailto:sage [2023/07/18(火) 15:08:54.43 ID:ss/yk/UI0.net] vb6言語より環境が古くさすぎて触るきにならん 出力して、vscodeでやって取り込みもあるけどいまいち
888 名前:デフォルトの名無しさん (ワッチョイ 4dc6-l/Dq) mailto:sage [2023/07/18(火) 16:00:19.51 ID:zVxGTRP30.net] >>871 細かいけどINotifyPropertyChangedじゃない? SquareにINotifyPropertyChangedを実装して、 Hogeの方でこういう風に Square square { get { return _square; } set { if (_square is not null) _square.PropertyChanged -= OnSquareChanged; this._square = value; if (value is not null) _square.PropertyChanged += OnSquareChanged; } } void OnSquareChanged(object sender, PropertyChangedArgs e) { this.OnPropertyChanged(nameof(this.square)); }
889 名前:デフォルトの名無しさん (ラクッペペ MM34-iMTa) mailto:sage [2023/07/18(火) 16:06:27.35 ID:vLiOabGzM.net] VBA - VisualBasic https://learn.microsoft.com/ja-jp/office/vba/library-reference/concepts/getting-started-with-vba-in-office Office add-ins - C# https://learn.microsoft.com/ja-jp/office/dev/add-ins/overview/office-add-ins Vsto - C# https://learn.microsoft.com/ja-jp/visualstudio/vsto/create-vsto-add-ins-for-office-by-using-visual-studio Office Scripts - TypeScript(JavaScript) https://learn.microsoft.com/ja-jp/office/dev/scripts/overview/excel
890 名前:デフォルトの名無しさん (ワッチョイ d010-uD+5) mailto:sage [2023/07/18(火) 17:40:37.17 ID:HtITPTeb0.net] 871が言ってる値が何のことかよくわからないな >square自身に値を持たせる方法
891 名前:デフォルトの名無しさん (スップ Sd00-IoCj) mailto:sage [2023/07/18(火) 17:59:36.33 ID:uMqw2ex7d.net] まず環境書けとか色々突っ込み所がありすぎて暑いしで萎えた おまえら頑張れよ
892 名前:デフォルトの名無しさん (ワッチョイ f62f-NBo5) mailto:sage [2023/07/18(火) 21:18:14.67 ID:ZtgGANuh0.net] >>871 俺がエスパー回答してやる Hoge のコンストラクタでsquareをnewする Square をクラスじゃなくて構造体にする 好きなほうを選べ
893 名前:デフォルトの名無しさん (オイコラミネオ MM71-9/0y) mailto:sage [2023/07/18(火) 22:23:27.30 ID:5UWIDgazM.net] お前らも含めてだが…基本的なことを勘違いしてるんだろう IpropertyChangedが必要なのかも怪しいがそれは置いておく 通常似た様なものがあった場合 面積に相当するAreaプロパティが設定されている binding対象はHoge.Square.Areaに普通はする さて、 WidthやHeightが変更になった場合にAreaはその都度変化を通知して欲しいのかどうかも気になる WidthとHeightを同時に変更したい場合メソッドを使って適切に変更しないとゴミがでるぞ
894 名前:デフォルトの名無しさん (オイコラミネオ MM71-9/0y) mailto:sage [2023/07/18(火) 22:33:21.86 ID:5UWIDgazM.net] Squareの値は各種プロパティを持ったオブジェクト自体でありそれを面積とみなすのはおかしいと言うこと ToString()をoverrideして面積を出すも間違っている ToString()で出すのは 四角形 幅:3 高さ:4 面積:12 と言う各種情報
895 名前:デフォルトの名無しさん (ワッチョイ 3210-NBo5) [2023/07/18(火) 23:28:46.06 ID:HED9e7490.net] >>882 エスパー ありがとうございます。 square を 構造体にかえて 今までやりたかったことが解決しました。 >>883 ,>>884 ありがとうございます。 勉強になりました。
896 名前:デフォルトの名無しさん (ワッチョイ 52da-0QNR) mailto:sage [2023/07/19(水) 12:26:43.18 ID:DPJDdup00.net] Func<T, bool>を受け取る引数にPredicate<T>を渡せないのは何故でしょうか?
897 名前:デフォルトの名無しさん (ワッチョイ 4dc6-l/Dq) mailto:sage [2023/07/19(水) 13:17:55.70 ID:rfnRytk30.net] 型が違うから class Hoge { public string Piyo; } class Fuga { public string Piyo; } と同じメンバを持った2つのクラスがあっても void Test(Hoge hoge) { ... } にFugaを渡せないのと同じ
898 名前:デフォルトの名無しさん (ブーイモ MM69-IGBM) [2023/07/19(水) 13:33:43.83 ID:Iak4bgJxM.net] hoge(pred.Invoke)で渡せる