- 1 名前:デフォルトの名無しさん [2019/10/07(月) 20:16:17.93 ID:9eyAES450.net]
- !extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為) 「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。 他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、 ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。 内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。 なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。 C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください >>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。 ■前スレ ふらっと C#,C♯,C#(初心者用) Part144 https://mevius.5ch.net/test/read.cgi/tech/1563258983/ ■関連スレ C#, C♯, C#相談室 Part95 https://mevius.5ch.net/test/read.cgi/tech/1508168482/ ■コードを貼る場合は↓を使いましょう。 ideone.com/ https://dotnetfiddle.net/ ■情報源 https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index https://docs.microsoft.com/en-us/dotnet/standard/class-libraries referencesource.microsoft.com/ ・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 VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
- 175 名前:デフォルトの名無しさん mailto:sage [2019/10/18(金) 21:35:27.82 ID:1VxWd/yq0.net]
- >>174
日本語が理解できないのか? > こういう意図でC#を使う人は少ないと思うからそういうサイトもあまりないのでは >>162はその少ないサイトって話だろ…
- 176 名前:デフォルトの名無しさん mailto:sage [2019/10/18(金) 21:44:11.74 ID:nML+rjlo0.net]
- データを取得したんですが
第三正規系までできません。 こちらのデータを第三正規系にお願いします。 第一正規系はやりました。 https://i.imgur.com/RruyoYQ.png おすし名,おすしID,店舗ID,価格,データ取得日時,店舗名,おすし説明,色,分類,大きさ まぐろ赤身,MGR-0000,KRA,120,2019/10/18,くら寿司,さっぱりうまい。上出来,鮮やか,赤身,小さい まぐろ赤身,MGR-0001,SSR,110,2019/10/18,スシロー,こってりうまい。おすすめ,濃い,赤身,大きい まぐろ赤身,MGR-0002,HMZ,90,2019/10/18,はま寿司,まずい。食えたもんじゃない,汚い,赤身,小さい まぐろ赤身(漬け),MGRZ-0000,KRA,140,2019/10/18,くら寿司,漬け。さっぱりうまい。上出来,鮮やか,漬け,大きい まぐろ赤身(漬け),MGRZ-0001,SSR,130,2019/10/18,スシロー,漬け。こってりうまい。おすすめ,濃い,漬け,大きい まぐろ赤身(漬け),MGRZ-0001,HMZ,100,2019/10/18,はま寿司,漬け。まずい。食えたもんじゃない,汚い,漬け,小さい
- 177 名前:デフォルトの名無しさん mailto:sage [2019/10/18(金) 21:51:06.59 ID:7fyCEFV70.net]
- >>175
日本語理解できてないのはそっちやろ… >>174は「帳票作成でC#を使うこととC#でExcelを操作することはかなり違う」に対する反論
- 178 名前:デフォルトの名無しさん mailto:sage [2019/10/18(金) 22:22:58.75 ID:bjYJELO9a.net]
- >>176
このスレのタイトルを3回声に出して読んでみようか
- 179 名前:デフォルトの名無しさん mailto:sage [2019/10/18(金) 22:51:19.49 ID:1VxWd/yq0.net]
- >>177
頭大丈夫? それとも > 帳票作成でC#使うなんてよくある話だろ をごまかしたくて必死なの?w
- 180 名前:デフォルトの名無しさん mailto:sage [2019/10/18(金) 22:55:16.71 ID:esIPpiBW0.net]
- 心底くだらない喧嘩だな
- 181 名前:デフォルトの名無しさん mailto:sage [2019/10/18(金) 23:23:01.26 ID:j4uMIQLH0.net]
- 禿同
- 182 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 01:23:21.24 ID:yK8AYG0c0.net]
- >>179
頭大丈夫?
- 183 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 06:44:10.57 ID:a0xT/TLW0.net]
- >>182
鸚鵡返ししかできないならROMってりゃいいのに…w
- 184 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 06:45:15.42 ID:fpN8ACwhd.net]
- >>183
しつこい
- 185 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 08:06:58.91 ID:a0xT/TLW0.net]
- >>184
夜中までレスしてる>>182に言ってやれよw
- 186 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 09:10:08.70 ID:yK8AYG0c0.net]
- >>183
まだいたのかw
- 187 名前: mailto:sage [2019/10/19(Sat) 09:47:58 ID:mgwE5Z4r0.net]
- どこもかしこもマウントレスバトルばかり
なぜひとはあらそってしまうのか…sigh…
- 188 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 09:51:09.39 ID:g+81+wWe0.net]
- しかも、内容が思いっきりくだらない
マウントを取るためだけにレスをしたとしか思えないくだらなさ
- 189 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 10:37:10.93 ID:a0xT/TLW0.net]
- >>186
>>184w
- 190 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 17:32:49.19 ID:WQwZNfDO0.net]
- C#は見かけ上は一見C++に似たような顔で欺いたVBだな。
- 191 名前:デフォルトの名無しさん [2019/10/19(土) 18:32:57.19 ID:BH051H7O0.net]
- すまんが、インターフェイスとオートプロパティーとがよくわから人だけどさあ
interface IPerson{string Name();} class Person : IPerson {public string Name{get=>"Taro";}} これじゃなんでIPerson.Name();を実装したことにならないの?正しくはどうすればよかんべえ?
- 192 名前:デフォルトの名無しさん [2019/10/19(土) 18:36:03.37 ID:BH051H7O0.net]
- 自分で気づいて今インターフェイスをstring Name{get;}にしてみたらできた
すまん、191のは無視してくれ・・・・
- 193 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 18:39:04.57 ID:qmet2mEe0.net]
- インターフェイスがメソッドで実装がクラスだからダメ
- 194 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 18:39:28.35 ID:qmet2mEe0.net]
- ×実装がクラス
○実装がプロパティ
- 195 名前:デフォルトの名無しさん (ワッチョイ e334-V+wO) [2019/10/21(月) 20:48:34 ID:Q380rRZI0.net]
- ListViewをLargeImageListとして使って、かつ画像は非同期的に読み込んで反映させていきたいんだけど、
ImageListを変更しても画像が差し変わらない。アイテムを選択したりすると変わる。 差し替え後に強制的に反映させるにはListViewをRefleshするしかない?
- 196 名前:デフォルトの名無しさん (ワッチョイ 5fda-S3Tg) mailto:sage [2019/10/21(月) 22:28:12 ID:WYoX45rO0.net]
- ListViewItemのVMにINotifyPropertyChanged実装しとらんのか?
- 197 名前:デフォルトの名無しさん (ワッチョイ 4bda-PVzv) mailto:sage [2019/10/21(月) 22:36:01 ID:gFaZXUyV0.net]
- RichTextBox.Textプロパティに数MBの文字列をセットすると
5秒くらいフォームがフリーズするので Task/async/await的なコードを試したのですが 別スレッドからコントロールにはアクセスできないと怒られ それではとInvokeメソッドを使ってみるも 今度はアクセスで怒られない代わりにまたフリーズ。 上手いこと非同期でTextプロパティにセットする 方法はありますかね。
- 198 名前:デフォルトの名無しさん mailto:sage [2019/10/21(月) 22:46:01.22 ID:/X8txQrc0.net]
- >>197
数MBの文字列程度でフリーズした経験はないけど、その環境でフリーズするのなら非同期にしても解決はしないよ Invoke使おうがその文字列の処理にそれだけかかるのだからどうしようもない 非同期にするのは処理中にキャンセルするとか他のGUIからの入力処理をする目的じゃないと
- 199 名前:デフォルトの名無しさん (ワッチョイ 4bda-PVzv) mailto:sage [2019/10/21(月) 23:04:39 ID:gFaZXUyV0.net]
- ありがとうございます
そういう回答がいただけただけでも助かります 違った角度からの解決策を考えます
- 200 名前:デフォルトの名無しさん (アウアウウー Sa43-WFp/) [2019/10/21(月) 23:10:37 ID:VNGEIVP2a.net]
- >>197
やったことないけどこれかね https://stackoverflow.com/questions/47438631/c-sharp-open-form-in-a-new-thread-or-task
- 201 名前:デフォルトの名無しさん (ワッチョイ d201-4js2) mailto:sage [2019/10/22(火) 00:05:51 ID:QfoZv31s0.net]
- >>197
WPF?
- 202 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 10:07:09.79 ID:YHA3BCJ70.net]
- 事情が許されるなら、俺ならRTFをHTML変換してブラウザコントロールで表示させるけどね
- 203 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 13:25:27.23 ID:K+KsF9ms0.net]
- 試してなくて妄想だけけど、SuspendLayout/ResumeLayoutとか?
- 204 名前:デフォルトの名無しさん [2019/10/22(火) 14:13:07.80 ID:d9ySxcs9a.net]
- UIスレッド自体が輻輳してるんだからそんなことしても無意味w
別のプロセスか別のUIスレッドで動作させるか、 あるいは小分けにしてちょっとずつ更新するしかないと思うよ。
- 205 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 19:15:02.64 ID:ZcCp4/Eg0.net]
- クラス継承の意義がイマイチ分かりません
継承したいクラスをフィールドに持たせ、共通して呼び出したいものはインターフェースとして定義するではダメなのでしょうか? 単にその両者をいっぺんにやるためにあるという理解で良いんでしょうか?
- 206 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 19:40:35.35 ID:i9vhc7D5M.net]
- >>205
それで正しいよ 現代のオブジェクト指向においては継承は基本的に悪であって、極力使うべきではない
- 207 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 20:13:37.49 ID:N0Z1aA+u0.net]
- 継承が悪ってww
- 208 名前:デフォルトの名無しさん [2019/10/22(火) 20:19:18.17 ID:d9ySxcs9a.net]
- アポロ13って映画に「何のために作られたかではなく、何に使えるかが重要」って台詞が出てくるけど、
意義とか考えるのは(重要だとは思うけど)後回しにして、どういう使い方ができるかに 注視した方がいいよw あと、オブジェクト指向関係で教条主義的なことを言う奴の話は眉に唾して聞いた方がいいw これほんと
- 209 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 20:23:35.17 ID:r8U+7Z6M0.net]
- .NET Framework は悪の塊だったのか
- 210 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 21:06:42.53 ID:CFL/N7o/d.net]
- >>206
継承が悪ワロタ
- 211 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 21:09:14.91 ID:V41RXtJo0.net]
- >>209
悪の帝国Microsoft製だししょうがないなw
- 212 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 21:18:38.74 ID:mNMm3WnU0.net]
- あ〜熊の力〜身に付けた〜
正義のヒーロー
- 213 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 21:22:00.43 ID:5xlDZDfD0.net]
- 毛深いヒーローだな
- 214 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 21:25:50.97 ID:EpnXDCZ50.net]
- Windows上でVisual Studioを立ち上げて.Netアプリ開発をする以上
お前も悪の帝国の軍門に下って生きるしかないのだ
- 215 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 22:38:30.26 ID:QfoZv31s0.net]
- >>205
例えばフレームワークが用意してるControllerクラスを継承して20個くらい個別のコントローラーを作る場合と 個別のコントローラーにControllerクラスを持たせて呼び出しを委譲できるようにする場合 前者はカスタマイズしたい部分だけ書けばいいけど 後者はControllerの機能を呼び出すためにはすべてのクラスに委譲メソッドを用意する必要がある Controllerのメソッドを20個呼び出したいなら20x20で400個委譲メソッド定義をしないといけないしテストもしないといけない 自動生成することも可能だけどそれを考慮しても必要になる労力とコンポジションで得られる柔軟性が見合わない それぞれメリット・デメリットあるからそれを判断して使い分けるのが良いと思う
- 216 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 23:18:54.36 ID:HqQPrhiP0.net]
- 正しいと思うけど、継承のメリットを論じている段階でその例はたぶん通じない。ちんぷんかんぷんだと思うよ
- 217 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 23:34:28.25 ID:bvw0XH6G0.net]
- そういえばc#になってから継承なんて使った覚えがないな
- 218 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 23:58:38.64 ID:R7p1RKV4a.net]
- 継承を使うとしても、KeyedCollectionみたいな用意されたabstractクラスの具象を書くくらいかな
クラシックなWinForms/WebFormsと格闘するなら継承ありきなんだろうけど
- 219 名前:デフォルトの名無しさん mailto:sage [2019/10/23(水) 00:02:52.61 ID:rbcKcx270.net]
- >>217
Formクラスの継承しないの?
- 220 名前:デフォルトの名無しさん [2019/10/23(水) 01:24:57.24 ID:m9ZvUGV10.net]
- List型からカンマ区切りの文字列にしたいのですが、先頭や最後にカンマがくっついて欲しくありません
こう言う場合ってどう書くのですか? string s = ""; int i = 0; foreach(var l in data){ if(i == 0) i = 1; else s += ","; s += l.ToString(); } 自分なりにも書いてみたのですがなんか素人感が半端ないです どうか正しいかっこいい書き方を教えてください、お願いします
- 221 名前:デフォルトの名無しさん mailto:sage [2019/10/23(水) 01:45:41.03 ID:r6mLYpNF0.net]
- var s = string.Join(",", data);
- 222 名前:デフォルトの名無しさん mailto:sage [2019/10/23(水) 08:41:29.15 ID:cIthmx8S0.net]
- Goは>>205のような考えで継承廃止したんじゃなかったっけ?
コーディングコスト削減メリットよりも階層複雑化によるデメリットの方が大きいから、やるならインターフェースでやれって考え方だったと思う 天下のグーグルがそう言ってるからには継承が悪という考えもあながち全否定は出来ない
- 223 名前:デフォルトの名無しさん mailto:sage [2019/10/23(水) 08:46:57.96 ID:tuL+TD2TM.net]
- var s = (data.FirstOrDefault() ?? "").ToString()
foreach(var l in data.Skip(1)) s += "," + l var s = "" foreach(var l in data) s += "," + l s = s.SubString(1)
- 224 名前:デフォルトの名無しさん mailto:sage [2019/10/23(水) 09:10:24.37 ID:9MFdyPJfa.net]
- >>222
Rustもそうだね MSやAWSが最近推してる
- 225 名前:デフォルトの名無しさん mailto:sage [2019/10/23(水) 09:26:46.08 ID:s4ZmhUIr0.net]
- null許容型に属性のrangeが有効か否かを調べたいんだけど、msdnを見ても書かれてない
こういうときってどうやって調べるの??
- 226 名前:デフォルトの名無しさん mailto:sage [2019/10/23(水) 09:57:02.37 ID:N3BHKY3G0.net]
- Rangeということは「最小値と最大値」の範囲内かどうかなわけで
nullが範囲外なのは自明だからそもそも意味がなくね? nullは特別に範囲内ってのなら「最小値と最大値」であるRangeじゃなくて他の方法で表現せざるを得ないよね
- 227 名前:デフォルトの名無しさん mailto:sage [2019/10/23(水) 10:43:58.06 ID:s4ZmhUIr0.net]
- >>226
単純にnull許容型にrangeの属性を付与できるか否かってだけが知りたい それを調べようとしてもmsdnに記載が見つからないって話 これはtestが0-100になるように有効だろうけど [range(0,100)] int test このrangeは有効なのか?って話 int?にはrangeは無効で101とか入れれますよーとかはないよねって調べたい [range(0,100)] int? test
- 228 名前:デフォルトの名無しさん mailto:sage [2019/10/23(水) 11:17:48.75 ID:V6w3FSpA0.net]
- >>227
range属性自体はstringに対してだろうが付与出来るし、変数への代入を阻止するものじゃない それが有効かどうかはrange属性を使って検証する側の問題
- 229 名前:デフォルトの名無しさん mailto:sage [2019/10/23(水) 11:52:11.96 ID:mg9LIwfN0.net]
- ASPについて質問です
MVCにできてWebFormsじゃできないことってどんなのがありますか?
- 230 名前:デフォルトの名無しさん [2019/10/23(水) 12:06:02.89 ID:uTmD95wkr.net]
- >>229
できる出来ないの基準は? 既存コントロール使わないで全部時前で処理するなら、出来ないことが重い浮かばない
- 231 名前:デフォルトの名無しさん mailto:sage [2019/10/23(水) 12:08:21.81 ID:ixA2IUmYp.net]
- おまえには出来ないって基準だと思うよ。
- 232 名前:デフォルトの名無しさん mailto:sage [2019/10/23(水) 12:24:26.05 ID:rCWJ/rTC0.net]
- 原理的に出来ないことは無いが大変さが違う
それこそMVCで組みづらいとか EFとの相性とか WebAPI作りたいとか 他言語や環境と混ぜづらいとか つぶしが効かないとか まあ新規でWebFormsはやめとけと
- 233 名前:デフォルトの名無しさん mailto:sage [2019/10/23(水) 12:39:33.45 ID:9MFdyPJfa.net]
- >>229
WebFormsは.NET Coreおよび.NET 5以降ではサポートされない 今から新規に使ってはいけない
- 234 名前:デフォルトの名無しさん mailto:sage [2019/10/23(水) 12:51:59.22 ID:s8yqv2t40.net]
- >>227
Required属性とnon-nullable型の関係を確認すればいいと思う https://docs.microsoft.com/ja-jp/aspnet/core/mvc/models/validation#required-attribute
- 235 名前:デフォルトの名無しさん [2019/10/23(水) 13:28:03.53 ID:m9ZvUGV10.net]
- >>221
>>223 ありがとう こんなの全然知らなかったよ
- 236 名前:デフォルトの名無しさん mailto:sage [2019/10/23(水) 13:33:09.12 ID:mg9LIwfN0.net]
- >>233
あざます
- 237 名前:デフォルトの名無しさん mailto:sage [2019/10/23(水) 21:40:38.12 ID:F0j44unH0.net]
- System.Collections.ConcurrentにConcurrentListはないようですが、スレッドセーフなListはSyncronizedCollectionを使っておけということなんでしょうか?
- 238 名前:デフォルトの名無しさん mailto:sage [2019/10/23(水) 22:41:24.14 ID:MpJkuZYiM.net]
- >>237
ConcurrentListが無いのは、Listは外部ロックを使わない並行処理との相性が悪いからだろう 追加と参照のみならいいが、削除や途中への挿入があるとインデックスがほとんど意味を持たなくなってしまう インデックスが指してる要素が他のスレッドによる変更の影響で突然コロコロ変わったら使い物にならないのは容易に想像できるだろ? SynchronizedCollectionを使うとかそういう話じゃなくて、Listインターフェイスの設計が本質的に並行処理と相容れないんだよ
- 239 名前:デフォルトの名無しさん mailto:sage [2019/10/24(木) 08:41:52.53 ID:vvI6h2Gc0.net]
- あるソフト使ってて、これ使いたいなって機能があるんだけど、なんて検索かけたらいいのか分からないので知っている人いたら教えてください。
WindowsフォームアプリでVisualStudio2015で開発しています。 [欲しい機能] 例えばWindow内が横3段に分かれいるとすると ------------△--------------- みたいに境界が表示されててそこをクリックすると部分的に隠したり、表示させたりできる機能 今作ってるアプリが監視系で画面上に常駐するので、出来るだけWindow内の邪魔なボタンとかは隠しておきたいのでこの機能が欲しいです。 知ってる方いたらよろしくお願いします。
- 240 名前:デフォルトの名無しさん mailto:sage [2019/10/24(木) 09:07:13.70 ID:1uX6E7L9M.net]
- >>238
> 追加と参照のみならいいが、削除や途中への挿入があるとインデックスがほとんど意味を持たなくなってしまう それマルチスレッドじゃなくても起きるだろ
- 241 名前:デフォルトの名無しさん mailto:sage [2019/10/24(木) 09:13:17.80 ID:EafWDMiv0.net]
- >>239
折りたたみできるpanel とかそんな感じ?
- 242 名前:デフォルトの名無しさん mailto:sage [2019/10/24(木) 09:20:52.19 ID:/Cd29/CTM.net]
- >>240
程度問題だよ マルチスレッドなら尚更問題になるのは明らかだろ 結局、インデックスに依存する一連の操作の単位で外部ロックを取る必要があるから、concurrentである意味がない
- 243 名前:デフォルトの名無しさん mailto:sage [2019/10/24(木) 09:51:08.72 ID:1uX6E7L9M.net]
- >>242
バカなの? インデックス使って途中挿入削除されたら問題なるのはマルチスレッドには関係ない そもそも挿入削除してるのにインデックスで処理するのがおかしいと気づけ
- 244 名前:デフォルトの名無しさん mailto:sage [2019/10/24(木) 10:07:31.16 ID:/Cd29/CTM.net]
- >>243
シングルスレッドでの同期処理ならプログラマが意図しないタイミングで変更が加えられる可能性は少ないだろう そもそも途中挿入しないならConcurrentBagでいいよね 自分で答え出てるじゃん
- 245 名前:デフォルトの名無しさん mailto:sage [2019/10/24(木) 10:16:49.04 ID:1uX6E7L9M.net]
- 本質を理解できない馬鹿に説明しても無駄なことがよくわかるなw
- 246 名前:デフォルトの名無しさん mailto:sage [2019/10/24(木) 10:31:37.86 ID:/Cd29/CTM.net]
- 同意するわw
- 247 名前:デフォルトの名無しさん mailto:sage [2019/10/24(木) 10:50:43.90 ID:8vd5prrh0.net]
- >>239
SplitContainer
- 248 名前:デフォルトの名無しさん [2019/10/24(木) 10:58:17.20 ID:xs21harXa.net]
- >>239
XPの時代のエクスプローラーのタスクパネルみたいなUIだと思うけど たぶん標準では存在しない 折り畳みできるコンテナを自分で作れば、それを別のPanelの中に入れ子にして AnchorとDockをうまく設定すれば似たようなことは一応できると思う。 PanelじゃなくてFlowLayoutPanelを使ってもいいかもしれないが、 たぶんかえって使いづらくなりそう
- 249 名前:デフォルトの名無しさん mailto:sage [2019/10/24(木) 10:58:42.47 ID:ey5VOEQr0.net]
- >>241
そうそう折りたたみって言葉がしっくりきます。 試しに「折りたたみ panel」あたりで検索したらやりたい事が出来そうなサイトが見つけられました。 SplitContainerとクリックイベントを使ってどうにか出来そうです。 また、境界部分にも三角形△などの目印を付けるやり方が載ってるサイトも見つかりました。 いいヒントになりました、ありがとうございます^^
- 250 名前:デフォルトの名無しさん mailto:sage [2019/10/24(木) 10:59:35.93 ID:mB9UhJoj0.net]
- >>247
>>248 ありがとうございます!
- 251 名前:デフォルトの名無しさん [2019/10/24(木) 11:57:49.13 ID:ABhN6CSmF.net]
- >>239
Collapse Accordion
- 252 名前:デフォルトの名無しさん mailto:sage [2019/10/24(木) 21:14:55.46 ID:00cf/jHw0.net]
- 頭に0個の参照って表示されてる関数が無数にあるんですが、これ要するに全く使われてないってことですよね
全部消してしまいたい……と思ったのですが実行する中でその関数が呼び出されるような可能性ってあったりするんでしょうか
- 253 名前:デフォルトの名無しさん mailto:sage [2019/10/24(木) 21:35:06.52 ID:VqWeglU2r.net]
- リフレクションとかで呼べば参照カウントされないんじゃない
- 254 名前:デフォルトの名無しさん mailto:sage [2019/10/24(木) 21:45:06.56 ID:B+sGouls0.net]
- なんかのライブラリとかで、publicで公開してるやつとかか?
- 255 名前:デフォルトの名無しさん mailto:sage [2019/10/24(木) 22:06:02.66 ID:Eph2jaDU0.net]
- 複数のパネルをドラッグドロップできるようにしたんだけど
マウスが別のパネルに重なったときにパネルがいれかわってしまうんだけど これを防ぐにはどうしたらいい?
- 256 名前:デフォルトの名無しさん mailto:sage [2019/10/24(木) 22:14:48.43 ID:yaJ1dO+n0.net]
- >>255
「パネル」をドラッグドロップしている? 一番上または必要なパネル以外のドラッグドロップを受け付けないようにしたら
- 257 名前:デフォルトの名無しさん mailto:sage [2019/10/24(木) 22:17:00.79 ID:WLXJ5XGy0.net]
- >>255
マウスダウンで「掴む」じゃん マウスドラッグで「移動」するじゃん マウスアップで「置く」じゃん ドラッグ中の処理は移動なのにどうしてマウスダウンで掴んだやつ 以外が動いちゃうん?
- 258 名前:デフォルトの名無しさん mailto:sage [2019/10/24(木) 23:01:06.74 ID:yaJ1dO+n0.net]
- マウスがパネルに触れた時点でフォーカス変わったりしているとかだろ
最低限の動きするミニマムコード使って検証する方がここで聞くより解決しやすいと思うがね そこでわからなかったらそのミニマムコード出してまた質問したらここの人も答えやすい
- 259 名前:デフォルトの名無しさん mailto:sage [2019/10/24(木) 23:02:09.24 ID:00cf/jHw0.net]
- >>253
あーなるほどでもそんな上等な書き方出来る人が作ったわけじゃないからなさそうですね >>254 他の似たようなソフト作る時に使ったソースコードそのまま組み込んだっぽいですね見た感じ
- 260 名前:元99 mailto:sage [2019/10/25(金) 14:57:42.75 ID:V0o5IG+qM.net]
- >>252
まあ普通はコメントにするよね
- 261 名前:デフォルトの名無しさん [2019/10/25(金) 22:28:16.88 ID:7rgagi6Z0.net]
- List<(string, int)> list;があった場合、listの中からlist.item2が最大の要素(string, int)を得るにはどうすればいいのですか?
var l = list.Max(x=>x.Item2);みたいにしたいのですが、int型が帰ってきてしまいます
- 262 名前:デフォルトの名無しさん mailto:sage [2019/10/25(金) 23:07:56.88 ID:GWerdevt0.net]
- OrderByDescending.FirstOrDefault
- 263 名前:デフォルトの名無しさん mailto:sage [2019/10/25(金) 23:14:44.18 ID:5pdqBhsBa.net]
- >>262だと計算量のオーダーが増える
先に Max で最大のItem2 (maxItem2)を求めておいて list.First(x => x.Item2 == maxItem2) のほうがマシ
- 264 名前:デフォルトの名無しさん mailto:sage [2019/10/25(金) 23:23:22.26 ID:6061P7ry0.net]
- 何度も呼ぶときウゼーから関数にしろよ
- 265 名前:デフォルトの名無しさん mailto:sage [2019/10/25(金) 23:42:07.16 ID:5pdqBhsBa.net]
- 経験上、こういう汎用的すぎるユーティリティ関数を自作して多用するのはお勧めしない
個人開発ならいいけど、多人数での開発になると新しいメンバーとの間で記述方法に差異を有む原因になり、結果的に負債化していくんだよ ダサくてもこういうのは毎回ベタに書いたほうがいい
- 266 名前:デフォルトの名無しさん mailto:sage [2019/10/25(金) 23:48:20.10 ID:FLPxIKHC0.net]
- 最大値持ってるタプルが複数あったら?
- 267 名前:デフォルトの名無しさん mailto:sage [2019/10/25(金) 23:50:57.19 ID:j4bjfcPpd.net]
- >>266
逆にどうして欲しいの?
- 268 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 00:25:28.36 ID:ZMkO6rZZ0.net]
- >>267
知らんがな
- 269 名前:デフォルトの名無しさん [2019/10/26(土) 00:58:09.61 ID:rff7tW+R0.net]
- >>262-265
どの方法も一見正攻法ではないように見えるため、人に教えてもらわないことには勇気を出して書けませんでした ありがとうございます
- 270 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 12:56:29.17 ID:D4rlG2Pr0.net]
- >>265
計算量のオーダー気にしてんだろ? 他の奴が違う書き方して増えたら大変じゃん あ、どうでもよかった?
- 271 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 13:18:11.26 ID:sfokePbj0.net]
- 素直に
int max = list.Max(tuple => tuple.Item2); var maxValueItems = list.Where(tuple => tuple.Item2 == max); でいいじゃん int に重複がない前提なら Dictionary 化した方が捗る
- 272 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 14:40:36.29 ID:+20I9h0L0.net]
- なんかいいロガー知らない?
3つのテキストに警告・注意・情報がそれぞれ安全に吐けるロガー
|

|