!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/
■コードを貼る場合はこちら
http://ideone.com/
■前スレ
C#, C♯, C#相談室 Part94
https://mevius.5ch.net/test/read.cgi/tech/1553075856/
■次スレは>>970が建てる事。
建てられない場合は他を指定する事。
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
C#, C♯, C#相談室 Part96
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 7633-kUv4)
2021/12/20(月) 11:03:25.88ID:sdn/+VfW0416デフォルトの名無しさん (ワッチョイ 4201-hjXB)
2022/08/31(水) 00:06:13.35ID:IP5lcB3x0417デフォルトの名無しさん (スップ Sdea-TRym)
2022/09/12(月) 18:39:52.16ID:Ws5FMSEUd ソートの質問です。
タブ区切りのCSVファイルを1行ずつそのままlistに入れた後、list の区切り[16]と[17]に数字が入っていてこれを[17]優先、次に[16]で降順ソートがしたいです。
調べるとラムダ式という便利そうなものが引っかかるのですが、区切って使用することは出来るんですかね?
タブ区切りのCSVファイルを1行ずつそのままlistに入れた後、list の区切り[16]と[17]に数字が入っていてこれを[17]優先、次に[16]で降順ソートがしたいです。
調べるとラムダ式という便利そうなものが引っかかるのですが、区切って使用することは出来るんですかね?
418デフォルトの名無しさん (ワッチョイ 1507-Nn/6)
2022/09/12(月) 18:48:00.24ID:pGdD9pkE0 CSVをそのまま使うんじゃねえ
読み込んだらパースしてオブジェクトに直せ
パースはstring.splitとか使ってるやつ多いがバグを防ぐためにcsvhelperとか使え
読み込んだらパースしてオブジェクトに直せ
パースはstring.splitとか使ってるやつ多いがバグを防ぐためにcsvhelperとか使え
419デフォルトの名無しさん (ワッチョイ 3d24-/v0B)
2022/09/12(月) 21:33:05.70ID:57KFzM310 >>417
var sorted = File.ReadAllLines("data.csv").Select(line => line.Split(',')).OrderByDescending(x => int.Parse(x[17])).ThenByDescending(x => int.Parse(x[16]));
var sorted = File.ReadAllLines("data.csv").Select(line => line.Split(',')).OrderByDescending(x => int.Parse(x[17])).ThenByDescending(x => int.Parse(x[16]));
420デフォルトの名無しさん (ワッチョイ 3d24-/v0B)
2022/09/12(月) 21:37:18.87ID:57KFzM310 タブ区切りか
それTSVやん
まあソートの方が要点だろうからパースの方はご自由に
それTSVやん
まあソートの方が要点だろうからパースの方はご自由に
421デフォルトの名無しさん (アウアウウー Sa21-Nn/6)
2022/09/12(月) 21:41:44.89ID:WJNzCKdga tsvはcsvの一種だがどうしてお前らはsplitを使いたがるんだ
422デフォルトの名無しさん (ワッチョイ 6978-OdF3)
2022/09/12(月) 21:49:03.68ID:LNujs6wk0 区切りが制御文字だったらまぁ許せる
423デフォルトの名無しさん (ワッチョイ 3abd-TRym)
2022/09/12(月) 23:47:17.20ID:dk7j9tfb0424デフォルトの名無しさん (ワッチョイ 1507-Nn/6)
2022/09/13(火) 01:03:32.30ID:8hsXm+8m0 今度はsortedが文字列になってないと言い出すぞ
425デフォルトの名無しさん (ワッチョイ 3d24-/v0B)
2022/09/13(火) 09:51:22.32ID:ezVKzpwg0 >>423
File.ReadAllLines("data.csv").Select(line => line.Split(','))
↑ここまでがcsvをカンマで区切るコードでタブ区切りならSplit('\t')に変えてね
上で言われてるようにSplitだとセル内文字として'\t'が入ってると全てズレてきてしまうのでガチでやるなら専用のパーサーライブラリに頼るべきだが
File.ReadAllLines("data.csv").Select(line => line.Split(','))
↑ここまでがcsvをカンマで区切るコードでタブ区切りならSplit('\t')に変えてね
上で言われてるようにSplitだとセル内文字として'\t'が入ってると全てズレてきてしまうのでガチでやるなら専用のパーサーライブラリに頼るべきだが
426デフォルトの名無しさん (テテンテンテン MM3e-F+o0)
2022/09/13(火) 12:26:30.00ID:I78luoMLM 手抜きCSV実装はバグの元なのでライブラリ使え
規格に沿って真面目に実装するとそれなりに面倒
規格に沿って真面目に実装するとそれなりに面倒
427デフォルトの名無しさん (ワッチョイ e6bb-VPVD)
2022/09/13(火) 12:40:20.37ID:IWUAvQuR0 csvの標準って無かったはずだけど?
infoのrfcのこと言ってる?
infoのrfcのこと言ってる?
428デフォルトの名無しさん (ワッチョイ b501-lsvC)
2022/09/13(火) 12:43:16.28ID:OYU/TjHO0 csvはsuper calc のデータ形式
429デフォルトの名無しさん (ワッチョイ 1110-OdF3)
2022/09/13(火) 18:29:27.33ID:N+nHMRy40 Microsoft.VisualBasic.FileIO.TextFieldParser がお勧め。
本来はVB用のライブラリだが普通にC#からも呼び出せる。
本来はVB用のライブラリだが普通にC#からも呼び出せる。
430デフォルトの名無しさん (ワッチョイ eaad-5ozR)
2022/09/13(火) 19:05:00.69ID:Q9r0zfg80 何がおすすめなんだか…
431デフォルトの名無しさん (ラクッペペ MM3e-jm1v)
2022/09/13(火) 19:09:49.55ID:zXX+ut2QM dllがいらない!
432デフォルトの名無しさん (ワッチョイ a902-2m22)
2022/09/13(火) 19:13:35.91ID:u48XvMAP0 フィールドに改行もダブルクォートもカンマも使わんならSplitでええけど
そうじゃないならCSVHelper使っとけ
そうじゃないならCSVHelper使っとけ
433デフォルトの名無しさん (ワッチョイ ea2c-aQ9k)
2022/09/14(水) 00:45:14.45ID:Y/jBtdol0 Ruby で作った
タブ区切りの入力ファイル・input.tsv が以下の時、
-1 1.1
-2 -2.2
5 1.1
3 3.3
1 1.1
require 'csv'
# タブ区切りで、:numeric は、:integer と :float の組み合わせ
options = { col_sep: "\t", converters: :numeric }
table = CSV.read( "input.tsv", options )
sorted_ary = table.sort_by do |col_0, col_1|
[ col_1, -col_0 ] # col_1 の昇順で、col_0 の降順
end
p sorted_ary
出力
[[-2, -2.2], [5, 1.1], [1, 1.1], [-1, 1.1], [3, 3.3]]
タブ区切りの入力ファイル・input.tsv が以下の時、
-1 1.1
-2 -2.2
5 1.1
3 3.3
1 1.1
require 'csv'
# タブ区切りで、:numeric は、:integer と :float の組み合わせ
options = { col_sep: "\t", converters: :numeric }
table = CSV.read( "input.tsv", options )
sorted_ary = table.sort_by do |col_0, col_1|
[ col_1, -col_0 ] # col_1 の昇順で、col_0 の降順
end
p sorted_ary
出力
[[-2, -2.2], [5, 1.1], [1, 1.1], [-1, 1.1], [3, 3.3]]
434デフォルトの名無しさん (ワッチョイ e5ad-XV74)
2022/09/14(水) 01:24:45.04ID:ZnLQmmJg0 ルビ基地
435デフォルトの名無しさん (ワッチョイ 1507-QIIi)
2022/09/16(金) 14:23:45.81ID:zgH3cb2a0 >>427
ExcelのCSVが扱えれば問題はまずおきない
ExcelのCSVが扱えれば問題はまずおきない
436デフォルトの名無しさん (ワッチョイ 1e66-OVjx)
2022/09/16(金) 15:43:00.15ID:wH2I1UzM0 Excelのセル中途中改行、途中ダブルクォーテーション、途中¥
の全てが複雑に1つのセルに入ってても問題なくExcelと同じ解釈になるのが、事実上の要件やろな。
の全てが複雑に1つのセルに入ってても問題なくExcelと同じ解釈になるのが、事実上の要件やろな。
437デフォルトの名無しさん (アウアウウー Sa21-QIIi)
2022/09/16(金) 16:31:46.42ID:1woCku44a カンマと改行と"を何らかの方法でエスケープすればスプリットでも問題ないな
CSV化はエンコーディングした文字列をstring.Joinでカンマ区切り
読み取りはカンマでスプリットした後デコード
エンコーディングにBASE64とかパーセントエンコーディングが使えれば面倒無さそうな気がしたがどっちも半角記号をそのまま通すからだめだわ
自作しても大した手間はかからんけどCsvHelper使う方が明らかに楽だからなあ
あとExcelで開いて文字化けと思われる可能性も無くはない
CSV化はエンコーディングした文字列をstring.Joinでカンマ区切り
読み取りはカンマでスプリットした後デコード
エンコーディングにBASE64とかパーセントエンコーディングが使えれば面倒無さそうな気がしたがどっちも半角記号をそのまま通すからだめだわ
自作しても大した手間はかからんけどCsvHelper使う方が明らかに楽だからなあ
あとExcelで開いて文字化けと思われる可能性も無くはない
438デフォルトの名無しさん (ラクッペペ MM3e-jm1v)
2022/09/16(金) 16:48:41.84ID:HkImjBxjM 今更熱く語られても
439デフォルトの名無しさん (アウアウウー Sa21-QIIi)
2022/09/16(金) 16:50:44.61ID:1woCku44a >>437
正規表現とDictionary<T>を使えばもう少しはエレガントに書けるし速度のためにはLengthの倍の大きさのバッファを用意してSpan<char>を使うべきなのかもしれないけどイメージとしてはこんな感じ
string Encode(string src) => src.Replace("=", "==").Replace("\r", "=r").Replace("\n", "=n").Replace(",", "=c").Replace("\"", "=q");
正規表現とDictionary<T>を使えばもう少しはエレガントに書けるし速度のためにはLengthの倍の大きさのバッファを用意してSpan<char>を使うべきなのかもしれないけどイメージとしてはこんな感じ
string Encode(string src) => src.Replace("=", "==").Replace("\r", "=r").Replace("\n", "=n").Replace(",", "=c").Replace("\"", "=q");
440デフォルトの名無しさん (アウアウウー Sa21-QIIi)
2022/09/16(金) 17:21:16.73ID:1woCku44a441デフォルトの名無しさん (ラクッペペ MM3e-6u6j)
2022/09/16(金) 17:43:17.46ID:w5ho8AuvM 自転車置き場の議論
442デフォルトの名無しさん (アウアウウー Sa21-QIIi)
2022/09/16(金) 17:57:18.47ID:1woCku44a 5chで重要な議論をするわけがないだろw
443デフォルトの名無しさん (ラクッペペ MM3e-6u6j)
2022/09/16(金) 18:08:05.17ID:w5ho8AuvM なるほど
444デフォルトの名無しさん (ワッチョイ a902-2m22)
2022/09/16(金) 19:21:46.56ID:ScWWmq7w0445デフォルトの名無しさん (ワッチョイ 5707-qF/N)
2022/09/17(土) 10:51:42.40ID:vRd8nzJr0 まあ独自フォーマットが選べるならJSON使え、CSVでなきゃいけないのならCsvHelper使え、で済む話ではある
446デフォルトの名無しさん (ワッチョイ 7778-E+l9)
2022/09/17(土) 13:19:53.78ID:mojlhM6K0 固定長形式でオススメのライブラリある?
447デフォルトの名無しさん (アウアウウー Sa5b-Xik/)
2022/09/17(土) 13:59:36.21ID:TWFffCR9a sscanf
448デフォルトの名無しさん (ワッチョイ 7702-UC+/)
2022/09/17(土) 15:15:20.11ID:AHjbVUjh0 nugetをfixedで検索して、ダウンロード多い奴でそれっぽいの探してみりゃいいんじゃね
449デフォルトの名無しさん (アウアウウー Sa5b-qF/N)
2022/09/17(土) 17:41:50.72ID:HhHvs5OGa 固定長ならstruct割り当てて文字列はnew string(Span<T>)すればいいやん
450デフォルトの名無しさん (スッップ Sdbf-6Fps)
2022/09/20(火) 06:26:16.07ID:PUPPAQzJd var 〇〇
これってなんでも型ってことですか?ネットで検索するとよく見かけるんですが使い分けとかあるんですか?
これってなんでも型ってことですか?ネットで検索するとよく見かけるんですが使い分けとかあるんですか?
451デフォルトの名無しさん (ワッチョイ 5707-zepy)
2022/09/20(火) 07:05:14.47ID:OoIkmPQF0452デフォルトの名無しさん (ワッチョイ 9741-BLZI)
2022/09/20(火) 09:47:17.09ID:Mh2Dy9Lg0 ググって2秒で合点
453デフォルトの名無しさん (アウアウウー Sa5b-8eP5)
2022/09/20(火) 10:49:28.97ID:2fXkGtCja NHKおはスポ
454デフォルトの名無しさん (アウアウウー Sa43-ybmn)
2022/09/26(月) 15:02:13.04ID:DEOTfi9Xa int[] A = new int[100];
A[i]にfor文で0-9番目の要素まで数値格納
Array.Sort(A);
これやるとAの0-89番目の要素が0になって肝心の入力が後ろに行ってしまう
int[] AA = A.where(item => item != 0).toarray();
に配列を作り直すと入力が0だとそれも消してしまう…
何かいい方法ありますかね…
最初からListつかって以外で
A[i]にfor文で0-9番目の要素まで数値格納
Array.Sort(A);
これやるとAの0-89番目の要素が0になって肝心の入力が後ろに行ってしまう
int[] AA = A.where(item => item != 0).toarray();
に配列を作り直すと入力が0だとそれも消してしまう…
何かいい方法ありますかね…
最初からListつかって以外で
455デフォルトの名無しさん (ワッチョイ 162c-i8Eu)
2022/09/26(月) 15:08:44.66ID:7QDEX4sS0 イマイチよくわからんが
Array.Sort(Array, int, int)
で部分ソートすればいいって話?
Array.Sort(Array, int, int)
で部分ソートすればいいって話?
456デフォルトの名無しさん (アウアウウー Sa43-ybmn)
2022/09/26(月) 15:23:09.99ID:DEOTfi9Xa あっ、部分ソート
どうもです!
どうもです!
457デフォルトの名無しさん (スッップ Sd32-xTiZ)
2022/09/28(水) 18:24:51.59ID:MnFbtzLdd フォルダ削除する際に、削除するフォルダを誰かがそのフォルダを開いてる?使用してる状態だとエラーになるのを防ぐ対処法って何かありますか?
458デフォルトの名無しさん (ワッチョイ 96bb-JEMU)
2022/09/28(水) 18:32:29.06ID:rizFYsT00 そのエラーが例外なら例外処理すればいいんじゃないの?
459デフォルトの名無しさん (ワッチョイ 3763-eFJV)
2022/09/28(水) 20:19:12.00ID:aJu8BTJb0 エラーを起こさずに無理やりにでも消す方法はありませんか?と聞いていると思われる
俺は知らない
俺は知らない
460デフォルトの名無しさん (ワッチョイ 12ad-4kp3)
2022/09/28(水) 20:53:16.80ID:Oe+Nnyr70 MoveFileEx
461デフォルトの名無しさん (ワッチョイ 96bb-JEMU)
2022/09/28(水) 21:10:08.01ID:rizFYsT00 他のプロセスが読み書き中に外部から消せたらヤベーだろ常識的に考えて
削除失敗後のエラー処理頑張るしか無いんじゃない
削除失敗後のエラー処理頑張るしか無いんじゃない
462デフォルトの名無しさん (ワッチョイ 1201-ut7I)
2022/09/28(水) 21:26:58.56ID:0sCmeNkX0 掴んでるプロセス特定してブッ殺すとかかな
463デフォルトの名無しさん (ワッチョイ c707-mISd)
2022/09/28(水) 21:32:08.42ID:9HUYdTWA0 アンドロイドアプリの開発してるならだいたいadbのせい
powershellでps adb|killとやると削除できるようになる
それでも削除できなければリソースモニターのハンドル検索にフォルダ名を入れれば出てくる
powershellでps adb|killとやると削除できるようになる
それでも削除できなければリソースモニターのハンドル検索にフォルダ名を入れれば出てくる
464デフォルトの名無しさん (ワッチョイ 7f41-o7ft)
2022/09/28(水) 22:47:12.34ID:KUCGozzI0 誰かがって言ってるんだから、サインインしてる他の人アカウントか、共有ドライブとかの話じゃないの?
465デフォルトの名無しさん (ワッチョイ b302-QbOQ)
2022/09/29(木) 01:13:17.88ID:i5N1SLmK0 深読みしすぎだろ
例外の対処の仕方が判らんだけだと思うが
例外の対処の仕方が判らんだけだと思うが
466デフォルトの名無しさん (ワッチョイ 921f-I4IA)
2022/09/29(木) 03:06:21.45ID:FmkzzHbo0 linux環境のmonoなら開いてるファイルだろうが消し放題なのでは
467デフォルトの名無しさん (ワッチョイ c707-mISd)
2022/09/29(木) 07:29:06.13ID:nA4Nikqb0 こういう「何が言いたいのか日本語レベルでわからん質問」を投げて回答しようとした人たちが首をひねってるのを見て何も言わない質問者って何なんだろうな
コミュ障すぎるだろ
コミュ障すぎるだろ
468デフォルトの名無しさん (アウアウウー Sa2f-JXLb)
2022/10/10(月) 11:08:17.10ID:G8ljNDHoa bool isTrue;
if (isTrue) isTrue = false; // ブロック無し
else return;
// 処理
isTrue = true; // ここから
return; // ここまでの間は気にしない
これってスレッドセーフになってくれますか?よろしくお願いします!
if (isTrue) isTrue = false; // ブロック無し
else return;
// 処理
isTrue = true; // ここから
return; // ここまでの間は気にしない
これってスレッドセーフになってくれますか?よろしくお願いします!
469デフォルトの名無しさん (ワッチョイ d307-tmeX)
2022/10/10(月) 11:36:03.26ID:C38R1GQo0 isTrueがローカル変数じゃないならなってないな
470デフォルトの名無しさん (ワッチョイ ca01-52T8)
2022/10/10(月) 11:38:57.59ID:sJsMwDUU0 >>468
> if (isTrue) isTrue = false; // ブロック無し
> else return;
典型的なダメコード
> if (isTrue)
と
> isTrue = false;
の間に他のスレッドが割り込んだらおかしくなるだろ
> if (isTrue) isTrue = false; // ブロック無し
> else return;
典型的なダメコード
> if (isTrue)
と
> isTrue = false;
の間に他のスレッドが割り込んだらおかしくなるだろ
471デフォルトの名無しさん (アウアウウー Sa2f-JXLb)
2022/10/10(月) 11:48:20.15ID:G8ljNDHoa ならないですよねぇ…都合良すぎました…
ありがとうございました!
ありがとうございました!
472デフォルトの名無しさん (アウアウウー Sa2f-ndxx)
2022/10/11(火) 12:23:42.52ID:bRmHnhd0a lockすりゃええ
473デフォルトの名無しさん (ドコグロ MM02-TLx9)
2022/10/14(金) 00:13:37.18ID:dssbvtnEM デリゲートのPredicateの使いどころを教えて下さい
Funcの戻り値をboolにしたのと同じじゃないですか?
Funcの戻り値をboolにしたのと同じじゃないですか?
474デフォルトの名無しさん (ワッチョイ d307-tmeX)
2022/10/14(金) 00:35:51.18ID:t5o5qpLS0 昔はFuncが無かった
475デフォルトの名無しさん (アウアウウー Sa2f-cfuI)
2022/10/14(金) 10:05:51.78ID:z67nBqm+a C#2.0くらいの話かな?
476デフォルトの名無しさん (ワッチョイ d307-tmeX)
2022/10/14(金) 10:15:21.57ID:t5o5qpLS0 >>475
https://learn.microsoft.com/ja-jp/dotnet/api/system.func-2?view=net-6.0
.NET Framework 3.5かららしいぞ
Predicateの意味がわからんとしたらEventHandlerも意味わからんのだろうな
それAction<object,EventArgs>と同じじゃないですかって
同じだよ
https://learn.microsoft.com/ja-jp/dotnet/api/system.func-2?view=net-6.0
.NET Framework 3.5かららしいぞ
Predicateの意味がわからんとしたらEventHandlerも意味わからんのだろうな
それAction<object,EventArgs>と同じじゃないですかって
同じだよ
477デフォルトの名無しさん (テテンテンテン MMe6-Bq7Q)
2022/10/23(日) 12:14:33.77ID:y2RRMcrVM 単一バイナリビルドってEXEはできるけどDLLはできないのかな
478デフォルトの名無しさん (シャチクモバ MM0d-Y/ct)
2022/10/25(火) 16:14:21.86ID:2SxwmPbyM 超初心者+わかりにくい文章で、ごめんなさい。
今までは、.NetFramewor4.72でWinFormを使って実装していました。
今、.Net6.0 の WinFormで実装する必要が出てきたので
.Net6.0 で実装しています。
.NetFramewor4.72 でWindowsBaseの参照の追加で使えていた
System.Windows.Threading.Dispatcher が
.Net6.0 では、「依存関係」の「COM」で設定しようとしても、
WindowsBaseが表示されず、WindowsBaseを設定できなくて
System.Windows.Threading.Dispatcherが使えなくて、困っています。
同じような課題を諸先輩方は
どのように解決されましたか?
今までは、.NetFramewor4.72でWinFormを使って実装していました。
今、.Net6.0 の WinFormで実装する必要が出てきたので
.Net6.0 で実装しています。
.NetFramewor4.72 でWindowsBaseの参照の追加で使えていた
System.Windows.Threading.Dispatcher が
.Net6.0 では、「依存関係」の「COM」で設定しようとしても、
WindowsBaseが表示されず、WindowsBaseを設定できなくて
System.Windows.Threading.Dispatcherが使えなくて、困っています。
同じような課題を諸先輩方は
どのように解決されましたか?
479デフォルトの名無しさん (ワッチョイ 812d-vPO9)
2022/10/25(火) 16:30:57.64ID:PDW864Oy0 >>478
バージョンは正確に。4.7.2ね。
Dispatcher.Invoke()を使いたいってことなんだろうけど、これはかなり古い方法。
async、awaitを使うか、TaskとTaskScheduler.FromCurrentSynchronizationContext()を使う。
バージョンは正確に。4.7.2ね。
Dispatcher.Invoke()を使いたいってことなんだろうけど、これはかなり古い方法。
async、awaitを使うか、TaskとTaskScheduler.FromCurrentSynchronizationContext()を使う。
480デフォルトの名無しさん (シャチクモバ MM0d-Y/ct)
2022/10/25(火) 16:49:48.49ID:ffh4XuaFM481デフォルトの名無しさん (ワッチョイ 2e33-2xJv)
2022/10/25(火) 16:54:27.68ID:+gAuWxch0 >>478
stackoverflow.com/questions/68300971/wpf-dispatcher-for-dotnet-5
.NET 5の話だけど、6でも同じはず
プロジェクトファイルに
<UseWPF>true</UseWPF>
を追加する
stackoverflow.com/questions/68300971/wpf-dispatcher-for-dotnet-5
.NET 5の話だけど、6でも同じはず
プロジェクトファイルに
<UseWPF>true</UseWPF>
を追加する
482デフォルトの名無しさん (ワッチョイ 7e02-Y/ct)
2022/10/25(火) 19:59:37.22ID:cA91aZUZ0483デフォルトの名無しさん (ワッチョイ 826a-kfbM)
2022/10/25(火) 20:27:27.77ID:SCdeTm/W0 >>482
<UseWPF>true</UseWPF>
<UseWindowsForms>true</UseWindowsForms>
この両方をtrueでいいんだよ
cf) //learn.microsoft.com/ja-jp/dotnet/core/project-sdk/msbuild-props-desktop#enable-net-desktop-sdk
<UseWPF>true</UseWPF>
<UseWindowsForms>true</UseWindowsForms>
この両方をtrueでいいんだよ
cf) //learn.microsoft.com/ja-jp/dotnet/core/project-sdk/msbuild-props-desktop#enable-net-desktop-sdk
484デフォルトの名無しさん (ワッチョイ 7e02-Y/ct)
2022/10/25(火) 22:50:11.68ID:cA91aZUZ0 >>483
プロジェクトファイルに
<UseWPF>true</UseWPF>
<UseWindowsForms>true</UseWindowsForms>
両方を追記しましたら、
using System.Windows.Threading;
が使えるようになり、
Dispatcher
も使えるようになったみたいです。
アドバイス本当にありがとうございます。
m(_ _)m
プロジェクトファイルに
<UseWPF>true</UseWPF>
<UseWindowsForms>true</UseWindowsForms>
両方を追記しましたら、
using System.Windows.Threading;
が使えるようになり、
Dispatcher
も使えるようになったみたいです。
アドバイス本当にありがとうございます。
m(_ _)m
485デフォルトの名無しさん (ワッチョイ 3901-XAx0)
2022/10/26(水) 08:18:16.62ID:QUWxQbjk0 こういう質問って仕事なんかなぁ。
486デフォルトの名無しさん (ワッチョイ 1907-Rexe)
2022/10/26(水) 08:22:23.52ID:HZuVvHGf0 初心者が仕事で振られるにしちゃボトルネックだから違うんじゃね
そいつができないと他全員することない
そいつができないと他全員することない
487デフォルトの名無しさん (ワッチョイ 895f-Y/ct)
2022/10/26(水) 16:16:56.80ID:V1iY34//0 初心者が問題解決するまで先輩たちは休憩室で麻雀打ってるよ
488.NET MAUI HighScool (ワッチョイ 1301-cPfV)
2022/10/31(月) 18:17:47.74ID:jJ3XoyNs0 今日知ったんだがSilk.NETってものがあるみたいね
これ一つでマルチメディア系のものを使用できるようになるみたい
OpenGLやDirectXとか
いかんせん情報ないけどどんな感じなんだろうか?
https://dotnet.github.io/Silk.NET/
これ一つでマルチメディア系のものを使用できるようになるみたい
OpenGLやDirectXとか
いかんせん情報ないけどどんな感じなんだろうか?
https://dotnet.github.io/Silk.NET/
489デフォルトの名無しさん (ワッチョイ f102-41VR)
2022/10/31(月) 19:05:37.95ID:s4vtF5Hi0 大体マイナーなライブラリは情報が殆どないから
githubのサンプルやデモ(あれば)を実際に動かしてみるしかないんじゃね
githubのサンプルやデモ(あれば)を実際に動かしてみるしかないんじゃね
490.NET MAUI HighScool (ワッチョイ 1301-cPfV)
2022/10/31(月) 19:36:25.67ID:jJ3XoyNs0491デフォルトの名無しさん (アウアウウー Sa9d-nuRl)
2022/11/03(木) 11:12:57.19ID:JkKs3AuYa <Frame>
<カスタムコントロール>
<Label/>
<Label/>
<Label/>
</カスタムコントロール>
</Frame>
wpfでこの構成のlabelからダブルクリックイベント取得する方法教えて
単純にイベント追加するだけじゃ取れなかった。バブリング、トンネリング、添付イベント辺りが関係有りそうだなぁと思って色々調べたんだけどよく分かんなくて
<カスタムコントロール>
<Label/>
<Label/>
<Label/>
</カスタムコントロール>
</Frame>
wpfでこの構成のlabelからダブルクリックイベント取得する方法教えて
単純にイベント追加するだけじゃ取れなかった。バブリング、トンネリング、添付イベント辺りが関係有りそうだなぁと思って色々調べたんだけどよく分かんなくて
492.NET MAUI HighScool (ワッチョイ 0901-cPfV)
2022/11/03(木) 11:14:57.35ID:P57hKE9o0 ラベルじゃなくてフレームにイベントつければ?
493デフォルトの名無しさん (アウアウウー Sa9d-nuRl)
2022/11/03(木) 11:17:49.64ID:JkKs3AuYa そうするとラベルがある場所以外でイベント拾っちゃう
どのラベルがクリックされたのかが欲しい
どのラベルがクリックされたのかが欲しい
494デフォルトの名無しさん (アウアウウー Sa9d-nuRl)
2022/11/03(木) 11:22:47.19ID:JkKs3AuYa カスタムコントロールじゃなくてユーザーコントロールだった
495デフォルトの名無しさん (ワッチョイ 4907-gxoH)
2022/11/03(木) 11:25:48.48ID:0QCo1mM00 ラベルはマウスイベントなんか受け取らんだろ
ラベルのテンプレートを挿入したコントロールを作れ
ラベルのテンプレートを挿入したコントロールを作れ
496デフォルトの名無しさん (アウアウウー Sa9d-nuRl)
2022/11/03(木) 11:29:59.86ID:JkKs3AuYa MouseDoubleClickイベントあるよ
497デフォルトの名無しさん (アウアウウー Sa9d-gxoH)
2022/11/03(木) 11:32:59.09ID:irjlHMAba498デフォルトの名無しさん (アウアウウー Sa9d-nuRl)
2022/11/03(木) 11:45:03.50ID:JkKs3AuYa Buttonに置き換えてみたけどやっぱり取れない
499デフォルトの名無しさん (アウアウウー Sa9d-gxoH)
2022/11/03(木) 11:56:03.33ID:irjlHMAba Frameの中のコントロールがクリックを拾えなくなる話なんて聞いたことがないしさすがにそれは異常だな
まあフレーム自体が拾えるとしたらその時のカーソル位置でコントロールは特定できるし最悪それでごまかすしかないかな
どこかでイベントの伝播をせき止めてるかもしれんくらいしか想像できん
まあフレーム自体が拾えるとしたらその時のカーソル位置でコントロールは特定できるし最悪それでごまかすしかないかな
どこかでイベントの伝播をせき止めてるかもしれんくらいしか想像できん
500デフォルトの名無しさん (アウアウウー Sa9d-A8jD)
2022/11/03(木) 12:06:53.27ID:h5ZIjV9Ha >>491
そのカスタム、じゃなくてユーザーコントロールでルーティングイベントを止めてるんじゃね?
そのカスタム、じゃなくてユーザーコントロールでルーティングイベントを止めてるんじゃね?
501デフォルトの名無しさん (アウアウウー Sa9d-gxoH)
2022/11/03(木) 14:48:45.55ID:j+eH91hfa ていうかもしかしてユーザーコントロールの中のラベルのイベントをウィンドウで受け取ろうとしてるのか?
502デフォルトの名無しさん (アウアウウー Sa9d-nuRl)
2022/11/03(木) 14:54:00.05ID:CFLs9wNya そう
503デフォルトの名無しさん (アウアウウー Sa9d-gxoH)
2022/11/03(木) 15:00:49.97ID:j+eH91hfa どうやってんのそれw
504デフォルトの名無しさん (アウアウウー Sa9d-nuRl)
2022/11/03(木) 15:10:15.68ID:CFLs9wNya あーもしかして普通に出来ない事をやろうとしてた?
ユーザーコントロール内のオブジェクトからのイベントを扱うのは一般的なやり方じゃないの?
ユーザーコントロール内のオブジェクトからのイベントを扱うのは一般的なやり方じゃないの?
505デフォルトの名無しさん (アウアウウー Sa9d-gxoH)
2022/11/03(木) 15:21:49.42ID:j+eH91hfa WPFのスレでXAMLが大きくなりすぎたから分割したいと言ってたやつかな?
気づいてないということは多分バインドエラー出てると思うから見てみなよ
気づいてないということは多分バインドエラー出てると思うから見てみなよ
506デフォルトの名無しさん (ワッチョイ b342-Tk+f)
2022/11/03(木) 16:15:34.18ID:tNReOobE0 もしかするとFrameのある親フォームにStyleのEventSetterでイベントハンドラを記述して、
UserControlのイベントを取ろうとしていたのかな?
そういう分割は不可能だわ
UserControlのイベントを取ろうとしていたのかな?
そういう分割は不可能だわ
507デフォルトの名無しさん (アウアウウー Sa9d-nuRl)
2022/11/03(木) 16:47:37.11ID:eWAgWGuWa なんかダメそうだからイベント直接取るのは諦めたわ
クリックした座標の下にあるオブジェクトを取得みたいなのはユーザーコントロール内のオブジェクトでも出来る?
クリックした座標の下にあるオブジェクトを取得みたいなのはユーザーコントロール内のオブジェクトでも出来る?
508デフォルトの名無しさん (ワッチョイ 4907-gxoH)
2022/11/03(木) 16:58:01.39ID:0QCo1mM00 いやだから分割するなら再利用できるようにしろよ
再利用できるようになってないから最初の利用すらできなくなってんじゃん
再利用できるようになってないから最初の利用すらできなくなってんじゃん
509デフォルトの名無しさん (アウアウウー Sa9d-nuRl)
2022/11/03(木) 17:05:08.54ID:eWAgWGuWa 具体的にはどうするの?
510デフォルトの名無しさん (ワッチョイ 4907-gxoH)
2022/11/03(木) 17:10:49.73ID:0QCo1mM00 そこから説明するんか
バインディングできるよう依存プロパティを作りアタッチできるようイベントを作り今のページに依存せず他のページでも使えるように作る
バインディングできるよう依存プロパティを作りアタッチできるようイベントを作り今のページに依存せず他のページでも使えるように作る
511デフォルトの名無しさん (アウアウウー Sa9d-nuRl)
2022/11/03(木) 17:45:13.94ID:eWAgWGuWa アタッチできるようにイベントを作るというのは具体的にはどうやるの?
解説サイト探すからキーワード教えて
解説サイト探すからキーワード教えて
512デフォルトの名無しさん (ワッチョイ a95f-hZr9)
2022/11/03(木) 19:43:16.04ID:HObwb99t0 Frameの中にはPageを入れるのが普通で
だからあの設計だとPageを使うことによって自然にXamlが分離される設計になると思う
だからあの設計だとPageを使うことによって自然にXamlが分離される設計になると思う
513デフォルトの名無しさん (ワッチョイ 51b4-nuRl)
2022/11/03(木) 19:58:12.05ID:vWWFbZaH0 あの設計がどの設計かわからんけどページにすればイベント取れるの?
514デフォルトの名無しさん (ワッチョイ 694f-hZr9)
2022/11/03(木) 21:42:56.38ID:pRCMKKI10 普通の状況ではLabel.MouseDoubleClickイベントは発生するという前提で
(.NET Framework 4.8で試したら普通に発生したけど)
PreviewMouseDoubleClickイベントを使ってみる
無理ならコードで
theLabel.Add(Control.PreviewMouseDoubleClickEvent, handler, true);
とやってみる
(.NET Framework 4.8で試したら普通に発生したけど)
PreviewMouseDoubleClickイベントを使ってみる
無理ならコードで
theLabel.Add(Control.PreviewMouseDoubleClickEvent, handler, true);
とやってみる
515デフォルトの名無しさん (ワッチョイ 694f-hZr9)
2022/11/03(木) 21:46:20.07ID:pRCMKKI10 あ、Addじゃないや AddHandlerだった
516デフォルトの名無しさん (ワッチョイ a95f-hZr9)
2022/11/03(木) 21:52:18.63ID:HObwb99t0 コントロール選び間違ってないか?
ラベルってダブルクリックするもんじゃないと思うんだけど
ラベルってダブルクリックするもんじゃないと思うんだけど
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本に来て二十数年、クルド人男性が突然の強制送還に 政府の「不法滞在者ゼロプラン」で強まる外国人“排除” (AERA) [少考さん★]
- 「被害者が歩いて入れる拠点に」歌舞伎町に女性センター計画、Colaboが10億円の寄付募る [少考さん★]
- 【令和の高校生】ハタチ過ぎても「タバコ吸わない」9割超! 圧倒的多数を占めた “5つの理由” とは [七波羅探題★]
- 東京への税集中を是正へ、与党方針 地方から不満「一極集中に拍車」 [蚤の市★]
- 【大学】全国の女子大7校がトランスジェンダー女性の入学認める 16校が検討 [七波羅探題★]
- 【日産】九州転籍で給与5年分支給 補償金、追浜工場の生産終了で [蚤の市★]
- 東京寒い
- 高市早苗「11兆円で自衛隊の建物にシャワーヘッドを増設する」 [347751896]
- おま♡こ←何思い出した?
- 【高市為替】 なんと 円高が進む。 155円前半 [485983549]
- 【悲報】山上徹也(おてつ)、借金300万を踏み倒していたことが発覚wwwwwwwwwwwwwww [455031798]
- 【動画】テレ東「台湾有事は日本において存立危機事態になり得る。高市総理の発言は何も間違っていない」と断言 [737440712]
