ふらっと C#,C♯,C#(初心者用) Part160

■ このスレッドは過去ログ倉庫に格納されています
2024/02/11(日) 09:17:20.44ID:8k78Qd14M
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を3行冒頭に書くこと(1行分は消えて表示されない為、もう1行は予備)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください。見かけたらNGしましょう。相手してしまったらあなたも荒らしです
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part159
http://mevius.5ch.net/test/read.cgi/tech/1691454079/
■関連スレ
C#, C♯, C#相談室 Part97
https://mevius.5ch.net/test/read.cgi/tech/1671585518/
■コードを貼る場合は↓を使いましょう。
https://ideone.com/
https://dotnetfiddle.net/
初心者はまずVisual Studioを使いましょう。なおVisual Studioの使い方などに関しては各バージョンで違うので専用スレでお願いします
http://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
283デフォルトの名無しさん (ワッチョイ daa6-T7LG)
垢版 |
2024/05/06(月) 20:24:46.99ID:ICcIUWW40
>>282
Copilotによると
ideone.com/o0qKFx
2024/05/06(月) 20:27:40.95ID:LVbBsfNt0
タスクを実行する前に CancellationToken を作って、各タスクに引き渡しておけば?
タスクの中で失敗を検出した時点でトークンを使って他のタスクもろともキャンセルさせるとか。

実証していないから出来るかどうかは確証がないし、お作法的に正しいかは知らない。
2024/05/06(月) 22:13:47.51ID:FU9bPEH/0
>>283
非同期処理の例のTask.Delay()にもCancellationTokenを渡してあればもっと良い
各タスク完了後のtoken.ThrowIfCancellationRequested()は要らない気がする
2024/05/07(火) 01:14:21.58ID:4xW/jY0L0
ループの中でawaitしてるんはどうなん?
後ろのほうのタスクがさっさとfalse返してても無駄に待たんの?
2024/05/07(火) 01:47:46.02ID:5Pxvn/fz0
>>286
肝心なところを見落としてたorz
無駄に待ってしまうね
各タスクにCancellationTokenSoruceを渡してreturnの前にCancel()しないとだね
メインタスクのforeachは削除してTask.WhenAll()で
288デフォルトの名無しさん (ワッチョイ 665b-T7LG)
垢版 |
2024/05/07(火) 18:49:51.77ID:8e8GnC/g0
c#で現在ゲーム作成中です。
データベースに画像を保存したら01011みたいなデータになってるから
dbから直接画像を抜かれる心配ってないですか?
2024/05/07(火) 19:12:47.82ID:io+wCOfI0
DBの中覗かれたら抜かれるよ
つーか、その程度の知識ではまだ早い
290デフォルトの名無しさん (ワッチョイ 665b-T7LG)
垢版 |
2024/05/07(火) 19:18:45.15ID:8e8GnC/g0
>>289
zip暗号化をすれば何とかなると思います。
ゲームを進めていかないと現れない文字列をパスワードにします。
ステージ1クリア→g
ステージ2クリア→o
ステージ3クリア→a
ステージ4クリア→l
画像取得→パスワードgoalをdbに送信、画像取得
こんなのはどうですか?
291デフォルトの名無しさん (ワッチョイ 665b-T7LG)
垢版 |
2024/05/07(火) 20:20:10.95ID:8e8GnC/g0
すいません勘違いしてました。
2024/05/21(火) 17:27:39.52ID:8JrFSvOm0
c#の初心者講座一通りやったのでデスクトップアプリ作ろうとおもうんですが
GUIつくるにはXamlの習得が必須なのでしょうか?
Pythonで作れたりしませんかね
2024/05/21(火) 17:35:47.17ID:ugTPWt7D0
本当に初心者講座やったんかいな
2024/05/21(火) 17:36:17.20ID:hwOFRgY40
WinFormsおすすめ
2024/05/21(火) 22:26:39.95ID:qpEPG2sb0
XamlやらなくてもWinFormでつくれるし
PythonでもGUIできるぞ
296デフォルトの名無しさん (ワッチョイ 9b79-fjqD)
垢版 |
2024/05/21(火) 22:43:43.37ID:DOc9CbOo0
PyQtか?
raspberry piで便利だったな。
winformと同じポトベタ
2024/05/22(水) 01:33:45.52ID:hVxp2sKt0
>>295
>>296
どんな感じでやるんですか?
検索したいので単語とか教えてください
最悪xamlを学ぶつもりですが画面遷移で手こずってます
2024/05/22(水) 02:00:10.58ID:mGbCqjUb0
とりあえずVisual Studioインスコして遊んでみたら
299デフォルトの名無しさん (ワッチョイ 1a8e-dWDI)
垢版 |
2024/05/22(水) 03:35:52.37ID:x1qLv0vm0
>>297
普通にC#で検索すりゃ出てくるだろ
2024/05/22(水) 06:42:34.59ID:qFl+oqMo0
単語とか教えてくださいて、winformって書いてあるだろ
2024/05/22(水) 07:20:56.92ID:KZz5GmBj0
xamlがC#の初心者講座に載ってなかったのであればxamlを学ぶのは遠回りだな
次にやるべきはxamlの初心者講座だろう
2024/05/22(水) 08:10:07.77ID:7Wi0RN/NM
猫でも判る
303デフォルトの名無しさん (ワッチョイ 5b49-WgSd)
垢版 |
2024/05/22(水) 08:30:09.27ID:w1FG1Kag0
アルツハイマーでも判る
2024/05/22(水) 09:07:37.83ID:CexWTTTE0
判っても忘れるやないけ
2024/05/22(水) 12:48:57.43ID:L8+BYydH0
ROMに焼いて脳に刺す
2024/05/23(木) 17:42:28.26ID:E/x3SfJu0
xamlの本を大きめの本屋さんで探したら一冊もありませんでした
xamlを勉強する人はもうネットのリソースしか使えないんですかね
JavaScriptとasp.netはたくさんあったのに
2024/05/23(木) 17:44:43.27ID:8gaO1tDV0
取り寄せればいいだろ
2024/05/23(木) 18:35:47.08ID:2GvHvp8D0
ざむるなんかネットでええやん
2024/05/23(木) 19:06:03.13ID:Cu3zenP40
ネットでええやんというかあらゆる情報においてネットの方が良いと思うが
今はチャッジピーもあるし尚更
まあxamlは習得までのコストを考えたら明らかにコスパは悪いと思うけどね
素直にhtml、css、jsでgui作ったほうが良い
2024/05/23(木) 19:09:23.61ID:poZBDhBnM
細かいところ知らなくてなんとなくは出来るけど
意味もなく呪術を使ってるような感じに近いのかな

今はエッセンシャルWPFみたいな本当の概念を教えてくれる書籍はどこにもないのかもしれないけど
2024/05/23(木) 19:16:37.09ID:JWo63WQ5p
xamlで何でも書いちゃう凄腕は
たいてい他者から嫌われる

何故って、んなコードメンテ出来ねえんだよ
2024/05/23(木) 20:44:54.40ID:E/x3SfJu0
>>309
でもデスクトップアプリはxamlしかだめなんですよね?
2024/05/23(木) 20:56:38.96ID:2GvHvp8D0
呪術使いかよ


かっけえ~な
2024/05/23(木) 20:59:38.29ID:poZBDhBnM
定型文しかしらないってカッコ悪いよ
WPFのmeasureなどの仕組みを知らないでその都度コンテナやコントロールで試行錯誤して時間だけ過ぎていくことになる
2024/05/23(木) 23:11:32.88ID:Cu3zenP40
>>312
いやいやJavaScript利用すればwebと同じ要領でデスクトップアプリも作れるよ
2024/05/24(金) 00:43:13.27ID:Jqq1csRV0
>>315
え!そうなんですか
調べてたらwpf blazor avalon maui uwpと色々出てきて頭が混乱しています😥
2024/05/24(金) 12:06:37.96ID:3IiN8e280
>>316
全部忘れてReact Nativeでよい
WindowsターゲットはMSが開発してるしMS自身のプロダクトにも使いまくってて、
事実上WindowsのGUI開発の公式推奨フレームワークだ
2024/05/24(金) 12:51:51.23ID:rLRASlVb0
公式推奨してたっけ?
2024/05/24(金) 12:58:58.64ID:BZbv4ftZ0
技術力のないやつはどいつもこいつも自分が使ってる技術スタックが良いと思い込みたいんだよな
2024/05/24(金) 17:37:22.10ID:/OWqJJSP0
趣味でコード書くだけなんでWinFormsで間に合ってる
2024/05/24(金) 18:48:26.05ID:077894te0
WPF使うけどバインディング使わずにイベントハンドラですませることが多いかな
322デフォルトの名無しさん (ワッチョイ 5bb1-fjqD)
垢版 |
2024/05/24(金) 20:01:58.17ID:6mWP1uh50
ソース流用しないならそれでいいんじゃない?
323デフォルトの名無しさん (ワッチョイ 5bb1-fjqD)
垢版 |
2024/05/24(金) 20:04:26.27ID:6mWP1uh50
WinFormsでソースを変にいじるとデザイナーの表示ができなくなるのが嫌でwpfにしてるわ。
2024/05/24(金) 22:09:40.76ID:FPKozzZg0
デザイナのソースを弄るなよw
325デフォルトの名無しさん (スップ Sd5a-dWDI)
垢版 |
2024/05/24(金) 22:28:29.98ID:mWKP/1zed
いじり方がわからないだけだろ
2024/05/24(金) 22:52:14.61ID:Jqq1csRV0
xamlで色々なフレームワークいじれることがわかったので
大人しくavaloniaっていうやつでxamlを練習することにしました
327デフォルトの名無しさん (ワッチョイ 5bb1-fjqD)
垢版 |
2024/05/24(金) 22:53:08.43ID:6mWP1uh50
自動生成されたコードを消すとデザイナーがエラーになる
2024/05/24(金) 23:20:25.34ID:QbvyThC1M
avaloniaはwpfと微妙にちがってたりするからな
ちゃんとdocument読むんだぞ
329デフォルトの名無しさん (ワッチョイ a3ad-C15y)
垢版 |
2024/05/25(土) 01:31:29.16ID:fb1SGBAr0
茨の道を進むのもまあ趣味だからね
330デフォルトの名無しさん (ワッチョイ 1a8e-dWDI)
垢版 |
2024/05/25(土) 02:35:00.43ID:FMQVfOzJ0
こういう奴は人に聞いてるふりして聞いちゃいないからな
答えるだけ無駄
2024/05/25(土) 06:27:22.35ID:/JCTn12+0
とりあえず6mWP1uh50がアホなのは良くわかった
332デフォルトの名無しさん (ワッチョイ 5fb6-fjqD)
垢版 |
2024/05/25(土) 08:44:14.74ID:rw81kdgJ0
>>331
アホだけどwpfでコードビハインド避けて出来るだけバインドでやってるよ(笑)
333デフォルトの名無しさん (ワッチョイ b6e8-4PJT)
垢版 |
2024/05/25(土) 11:06:49.49ID:d1cHng4L0
Windowsで画面の外にある範囲とか後ろにあるものを含めてスクリーンキャプチャ頑張ってしたいです
例えば画面の外に出てしまったExcelなどです。
C#でそんな魔法の関数ありますか?Windows APIでもいいのであったら教えてください
描画する前の段階のメモリにアクセスとかそういう関数とかあるかな
2024/05/25(土) 11:12:13.70ID:Ljj82WJ/a
win7までだったら何も考えずに撮れたけど今は無理なんじゃないのかな
アプデするたびに不便になってく
335デフォルトの名無しさん (ワッチョイ 5bb1-fjqD)
垢版 |
2024/05/25(土) 11:40:36.75ID:lsgA+/i+0
プリントスクリーンキーでコピーできる範囲ならわかるけどはみ出ては無理じゃね?
2024/05/25(土) 11:51:12.46ID:Ljj82WJ/a
昔ははみ出てようが、ほかのウインドウに隠れてようが取得できた
Winters 10 Anniversary Updateの前のバージョンのwindows10まで撮れたのかな
必要としてるのが自分の環境であればそこまでダウングレードすれば
2024/05/25(土) 12:36:32.43ID:OTS2oE4w0
とりあえずどうやったら撮れたか手段教えてあげたらいいのでは?
338デフォルトの名無しさん (ワッチョイ b64e-4PJT)
垢版 |
2024/05/25(土) 12:40:23.00ID:d1cHng4L0
ありがとうございます
ダウングレードで出来ることを示せば今できない証明になりますね
2024/05/25(土) 14:35:35.85ID:hSeXqoSH0
仮定:フルHDサイズのデスクトップとして

using(var Img = new System.Drawing.Bitmap(1920, 1080)) {
  using(var Grp = System.Drawing.Graphics.FromImage(Img)) {
   Grp.CopyFromScreen(0, 0, 0, 0, new System.Drawing.Size(1980, 1080), System.Drawing.CopyPixelOperation.SourceCopy);
  }
  Img.Save(@"E:\Test.png");
}

これでまるっととれるが?
2024/05/25(土) 14:36:31.03ID:hSeXqoSH0
あぁ、Saveとかファイル名は好きにしてね
2024/05/25(土) 14:53:35.10ID:GU3V+oeu0
1920、1080外に出てるGUIもスクショしたいって話じゃないか?
2024/05/25(土) 15:15:01.04ID:OTS2oE4w0
他のウィンドウに隠れてる部分もスクショしたいって話もあったぞ
2024/05/25(土) 15:23:27.11ID:GU3V+oeu0
なんかそういうWin32APIあった気がするけどな
まあ無かったら最悪SetForegroundWindowとかで一瞬だけ最前面にするとかSetWindowPosで一瞬だけ画面内に入れるとかか
2024/05/25(土) 15:28:43.31ID:CqoBbhiM0
aero が有効なら背面のウィンドウも全部描画されているから隠れていてもキャプチャできた。
最近できなくなったというのは知らなかったけど。
2024/05/25(土) 15:30:19.24ID:tQ1kZz6W0
EnumWindowsでそれぞれのハンドル得ながら
Windows Graphics Captureか
GetWindowRect + GetWindowDC + PrintWindow or BitBltを使えばできる
(GPT談)
2024/05/25(土) 15:46:46.34ID:tQ1kZz6W0
書いといてなんだけども
隠れてるのも含めて全部スクショを取るアプリって
まともな使い方じゃない気がするのは俺だけ?
2024/05/25(土) 16:05:00.93ID:GU3V+oeu0
アンチチートプログラムはまともなソフトウェアですよ
2024/05/25(土) 16:32:27.04ID:zDnRdyrP0
資産管理系はよくある
2024/05/25(土) 16:45:07.51ID:tQ1kZz6W0
アンチチートってどういう用途について言ってるのかよくわからないけど
事前の通知や同意を得えずにやるのは不法行為に当たる可能性が高いよ

学校の情報処理室のPCみたいなので
画面監視内容や目的を事前に通知して同意を得た上で
使わせるとかならまだわかる
でもそのくらいの用途なら違うアプローチがあるし
やり過ぎだと思うけどね
2024/05/25(土) 17:08:14.65ID:Ljj82WJ/a
ウインドウとその範囲を指定して切り出して表示する汎用ツール作っとくと
例えば為替チャート~ブラウザの一部だけ切り出してデスクトップ最前面に常に表示しとくとかそんなことができた
351デフォルトの名無しさん (ワッチョイ b69c-4PJT)
垢版 |
2024/05/25(土) 20:21:57.06ID:d1cHng4L0
>>344
>>345
出来ないとは断定できない感じですかね
できるかやってみます
2024/05/26(日) 00:37:11.56ID:2eNgSRji0
>>345試したらできた
普通のwinformsなら取れるがChromeやUWPは真っ黒になった
どっかで失敗してるんだろう
2024/05/26(日) 05:47:38.68ID:z4TFz7uPM
デスクトップのDCからとると切れるけどウィンドウのDCからなら切れないし下にあってもキャプチャ取れるはず
真っ黒になるようなのはデスクトップDCから取ればいけたような
そうすると画面外とか取れないけど
あとchromeのハードウェアアクセラレーション切ってみるとか
2024/05/26(日) 05:50:26.29ID:z4TFz7uPM
ああとウィンドウのDC取るって言ってもタイトルから取れるハンドルと実際に描画のウィンドウハンドル別のケースあるから描画されてるウィンドウから取ったほうがいいかと
2024/05/26(日) 07:05:25.29ID:vBjAPjV30
画面外に出てる部分までキャプチャしてどうしたいのかは気になるな
2024/06/05(水) 20:20:57.50ID:9ADuYisn0
最近wpf勉強し始めたんですけどmvvmでしたっけ?データバインディングするまでって
ややこしくないですか?
2024/06/05(水) 20:23:29.13ID:iN0Qb8gE0
馬鹿らしくないですか?だろwww
2024/06/05(水) 20:30:20.96ID:hKq03IIXa
いちいちバインディングしなくてもいいぞ
MSの方針なんて無視
2024/06/05(水) 20:52:16.76ID:AlJuJjGo0
そのうちバインディング万歳になる
360デフォルトの名無しさん (ワッチョイ dd70-QAZJ)
垢版 |
2024/06/05(水) 21:03:07.64ID:yE+c4LWp0
バインディングすれば非同期スレッドからもリンク出来て楽だよ。
2024/06/05(水) 21:25:05.05ID:H5VCPRu+0
WPF+MVVMで作る場合のMVVMのライブラリは何がおすすめですか?
2024/06/05(水) 21:27:45.78ID:6MSiuNzp0
CommunityToolkit.Mvvm でいいんじゃね?
ttps://learn.microsoft.com/ja-jp/dotnet/communitytoolkit/mvvm/
2024/06/05(水) 21:31:30.44ID:i0zhFyOO0
>>361
CommunityToolkit.Mvvm
これがもう少し早く世に出ていれば少しはWPFの評価が違ったかもな
2024/06/05(水) 21:32:04.97ID:YJKZP7nLp
それ非推奨になってね?
2024/06/05(水) 21:34:53.32ID:H5VCPRu+0
>>362
>>363
即レスありがとうございます
やっぱりそれが主流なんですかね
ググってもイマイチ情報が少なかったので皆さんどうしてるのかなって思って聞いてみたのですが、、
2024/06/05(水) 21:39:32.42ID:6MSiuNzp0
ぐぐると少し古いPrismの話だらけなんだよね…
2024/06/05(水) 21:43:19.11ID:i0zhFyOO0
>>304
Microsoft.Toolkit.Mvvmの方じゃなくて?
↑は旧称で単純に古い
2024/06/05(水) 21:50:36.85ID:P2HfWo3kp
xaml.csん中空っぽになるのは寂しい
2024/06/05(水) 21:54:08.80ID:i0zhFyOO0
>>367
>>364だった
2024/06/05(水) 22:05:47.71ID:iN0Qb8gE0
>>356
プロ?なら出来るだけ避けたが良いよ
何の投資にもならんから
2024/06/06(木) 00:00:04.44ID:B1FKFj1a0
.net frameworkから.netへの移行ツラぽよ
みんなこの苦労を乗り越えてきたんですかね
2024/06/06(木) 00:10:46.46ID:pYRUrgsna
無理に移行しなくてもframeworkも現役だしそれで十分だぞ
スケーリングやcancellationtokenみたいなの考えると.netの方がいいけどさ
2024/06/06(木) 00:11:46.98ID:uBno2CbmM
そんまんまコンパイルできた
2024/06/06(木) 00:27:23.39ID:icCTHgd40
>>370
どういう意味ですか?
あなたの言ってることがよくわかりませんごめんなさい
2024/06/06(木) 00:39:43.02ID:U1zlRwjW0
>>374
プロ?さん?
2024/06/06(木) 01:35:42.58ID:B1FKFj1a0
>>372
クラウドに載せるアプリとなるともはや.net前提じゃないですか
オンプレからの移行となると.net化は避けては通れないかと…
2024/06/06(木) 06:53:12.01ID:/gKf4FDX0
>>371
頑張って乗り越えたわ
百数十のプロジェクトファイル手動で書き換えて
2024/06/06(木) 10:42:54.20ID:8h9xdHiZp
そしてWindowsの大多数のCPUがARMになって行く未来
2024/06/06(木) 14:00:04.03ID:fRCbP1t8M
>>376
オンプレへの移行が最近の流行ですよ
2024/06/06(木) 19:09:08.40ID:QU+QaC9M0
>>374
とりあえず上から目線でレスしたかった程度だろうし気にする必要ないかと
2024/06/07(金) 00:17:34.69ID:Tuk18TRS0
>>377
MSが出してる移行ツールを使わない判断したんですか?
それ使ったら一発だろ何が難しいんだって上からは言われてるんですけど実際どうですかね
382デフォルトの名無しさん (ワッチョイ 4a79-JMex)
垢版 |
2024/06/07(金) 01:09:52.72ID:XGCR4se00
enumの列挙子を数字の文字列にするにはどうすればいいのですか?

トランプの数字・文字をenumにすることを想定して欲しいのですが
enum Rank
{
A, 2, 3, 4, 5, 6, 7, 8, 9, T, J, Q, K
}
これはうまく行きませんでした
数字部分を""で括ってもダメなようです
ヘルプみい
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況