ふらっと 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
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
}
これはうまく行きませんでした
数字部分を""で括ってもダメなようです
ヘルプみい
2024/06/07(金) 01:34:26.06ID:4kHiTa42a
全角にするか、CARD_2、CARD_3みたいにするしかないんじゃない?
2024/06/07(金) 02:08:03.64ID:sYhUQ8VE0
>>382
先頭に数字は使えない仕様
_1,_2みたいに数字の前に_(アンダーバー)を付けてる
385デフォルトの名無しさん (ワッチョイ be02-QAZJ)
垢版 |
2024/06/07(金) 05:47:31.38ID:ZUQeVjCM0
配列の宣言で初期化は{}で記述出来ますが、Listではどうやるんですか?
例えば
class P{int a;string str;}
List<P>=new P[5]{}←ここ
2024/06/07(金) 08:37:55.54ID:r6TBMC670
>>385
List<P> list = new() {new P(), new P(), new P(), new P(), new P()};
or
var list = new List<P>() {new P(), new P(), new P(), new P(), new P()};

class Pには明示的にコンストラクタが定義されておらず
インスタンスメンバもprivateなので生成時に個別の値は設定できない

https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/object-and-collection-initializers#collection-initializers
2024/06/07(金) 08:38:07.73ID:4kHiTa42a
class P { int a; string str;
public P(int a, string str)
{
this.a = a;
this.str = str;
}
}
List<P> aa = new List<P>() { new P(1, "1"), new P(2, "2"), new P(3, "3") };
388デフォルトの名無しさん (ワッチョイ d5ad-QAZJ)
垢版 |
2024/06/07(金) 12:11:29.02ID:uG7hYPCy0
>>386
>>387
ありがとうございました。
理解できました。
389デフォルトの名無しさん (ワッチョイ 4a01-HpFF)
垢版 |
2024/06/07(金) 12:51:27.90ID:tQZH7Tnk0
グーグル、資料のわからないところを最新AIに質問できる「NotebookLM」日本版公開
https://ascii.jp/elem/000/004/202/4202481/
390デフォルトの名無しさん (ワッチョイ fe91-hMM5)
垢版 |
2024/06/08(土) 00:50:39.71ID:03ku9SKj0
ふと疑問に思ったんですが進化のたびにコードが短縮化されていったら
言語ごとの個性の差って少なくなっていきません?
例えばラムダ式とか
2024/06/08(土) 06:14:53.19ID:6W2GBE510
>>381
もう2、3年前にやったことだけど
移行ツール使ってやろうとしたけどうまく行かなかったから手動でやったんだったような記憶
392デフォルトの名無しさん (ワッチョイ 4a88-HpFF)
垢版 |
2024/06/08(土) 10:46:23.91ID:TRqvICLK0
「毒杯飲む直前どんな気持ちだった?」ソクラテスと対話できるAIを開発!
2024.06.04
リコーと理研、技術の実用化の“兆し”を察知するアルゴリズムを開発
2024/06/05
グーグル、資料のわからないところを最新AIに質問できる「NotebookLM」日本版公開
2024年06月06日
393デフォルトの名無しさん (アウアウエー Sadf-pS2O)
垢版 |
2024/06/09(日) 10:38:25.68ID:xxSjzckMa
List<Point>で作った閉じた1つの図形の内部線除去に使えるライブラリ何かないかな?
↓の赤い部分を消して輪郭線だけにしたい
https://i.imgur.com/fMUakiS.png
内部線で複数の図形に分割するライブラリでもあれば内部線除去できるかなと思うけどなかなか見つからない
2024/06/09(日) 10:59:00.20ID:XLDZv0sla
OpenCV
2024/06/09(日) 11:07:42.40ID:xxSjzckMa
opencvで処理できるのは画像だけじゃない?
座標データから画像を作って処理して座標に戻すのはさすがに避けたい
clipperのunionやNetTopologySuiteのExteriorRing/Shellではやり方悪いのかうまく除去できなかった
2024/06/09(日) 11:38:36.39ID:pagfmKz50
あんまり複雑なことをしたいのでなければ自作した方が早そうな。
図形 内側 判定 とかで調べるとそれなりにヒットするし。
2024/06/09(日) 12:09:45.45ID:xxSjzckMa
確かに
図形の処理って想定外の入力でバグになりがちだから苦手だけど頑張るか
2024/06/09(日) 12:22:28.64ID:Y+JdchRG0
>>393
https://github.com/AngusJohnson/Clipper2
2024/06/09(日) 17:25:56.85ID:QgtNYENE0
PtInRegionだとか
2024/06/09(日) 17:38:27.90ID:xxSjzckMa
clipperは図形よりも大きい四角と処理したい図形の共通部分取得できそうだけど、なぜかうまくできなかった
PtInRegionみたいなのは辺上の点を指定した場合は輪郭でも内部でもtrueかfalseかのどちらかしか返さないからうまく使えない
2024/06/09(日) 17:40:31.17ID:QgtNYENE0
ちょうどいいのがあった
https://stackoverflow.com/questions/14671206/how-to-compute-convex-hull-in-c-sharp
2024/06/09(日) 18:26:12.08ID:xxSjzckMa
全点含むポリゴンを生成する凸包ってやつなのかな
これはこれでおもしろいやつだけど、今回はこれだと図形が原型とどめないからたぶん使えない
2024/06/09(日) 18:34:10.86ID:VES2dE5O0
2線分の交点が線分上に存在するか?で判定していたな
2024/06/09(日) 21:54:17.01ID:xxSjzckMa
NetTopologySuiteのunionで解決
clipper/clipper2のunionは正常にuniuonできないバグあるのが原因でした
405デフォルトの名無しさん (ワッチョイ ffb7-xov0)
垢版 |
2024/06/10(月) 07:47:34.88ID:QAB9rEB/0
AIの性能が上がれば世界情勢が見えてくる
にゅーーすで話していることもそれらしきことを話すようになる

まづボイス・トォ・スカルが存在している場合としていない場合を問う
そのあとに人間の行動をどのように行動するかを問う

交友関係全てわかる範囲で入力しておく
社会っ情勢を知るにはさらにどういった役職等も調べておく


自分が使用しているボイス・トォ・スカルを本物か偽物化も割り出せる
406デフォルトの名無しさん (ワッチョイ ffb7-xov0)
垢版 |
2024/06/10(月) 13:48:29.76ID:QAB9rEB/0
不眠症にカップ麺やスナック菓子などの「超加工食品」が関係しているという研究結果
https://gigazine.net/news/20240610-insomnia-linked-ultra-processed-foods/

インターネットの都市伝説「The Backrooms」の起源となった画像の正体はどうやって判明したのか?
https://gigazine.net/news/20240610-origin-of-the-backrooms/

GoogleのGeminiとMicrosoftのCopilotが過去のアメリカの大統領選挙を含めた世界中の選挙の結果を正常に返していないことが判明
https://gigazine.net/news/20240610-google-microsoft-chatbots-election-questions/
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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