1 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 19:28:06.27 ID:s+6oZKe00.net] !extend:checked:vvvvv:1000:512 次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為) 「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。 他のスレッドでは書き込めないような低レベルな質問、 質問者自身なんだか意味がよく分からない質問、 ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。 内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。 なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。 C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 ■関連スレ C#, C♯, C#相談室 Part93 mevius.5ch.net/test/read.cgi/tech/1492818720/ ■コードを貼る場合は↓を使いましょう。 ideone.com/ https://dotnetfiddle.net/ ■前スレ ふらっと C#,C♯,C#(初心者用) Part142 https://mevius.5ch.net/test/read.cgi/tech/1551908141/ ■情報源 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/ - VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
856 名前:デフォルトの名無しさん mailto:sage [2019/07/08(月) 18:56:24.14 ID:JxcTzaD5M.net] 全く別の話題だけど バインドってなんか利点あるんかな? 全部つながってることを確認しにくいっつーか 重くて欠点しかない 正直、制御しにくい テストも容易じゃねーし
857 名前:デフォルトの名無しさん [2019/07/08(月) 21:40:08.92 ID:hY1MiSUP0.net] C#の初心者以前の何も知らない素人です どうか教えてください xmlDataProviderを継承して、 System.Windows.Input.RoutedCommand 型のオブジェクトを公開プロパティ(あとからセット可能)に持つ カスタムクラスはC#でどう書くのでしょうか
858 名前:デフォルトの名無しさん mailto:sage [2019/07/08(月) 21:47:33.85 ID:Ng6ihs+br.net] しょしんしゃいぜんのひとがきくないようじゃない
859 名前:デフォルトの名無しさん [2019/07/08(月) 22:00:45.38 ID:hY1MiSUP0.net] >>846 powershellでその型を参照したいだけで、本当にC#はさっぱりなんです・・・
860 名前:デフォルトの名無しさん [2019/07/08(月) 22:08:07.08 ID:hY1MiSUP0.net] とりあえず適当にそれっぽく書いたら、 using System.Windows.Data; using System.Windows.Input; ここで 型または名前空間名 'Data' は名前空間 'System.Windows' に存在しません。アセンブリ参照が不足しています。 って怒られています・・・
861 名前:デフォルトの名無しさん mailto:sage [2019/07/08(月) 22:09:28.84 ID:pSGSFVOB0.net] System.Refrection this.GetType().InvokeMember 辺りが近いかな
862 名前:デフォルトの名無しさん mailto:sage [2019/07/08(月) 22:26:24.45 ID:wng3miJE0.net] >>844 画面とバインドされるデータとのつながりを単純にして バインドされるデータは画面なしでもテストできるようにしておく のが理想なんじゃね?
863 名前:デフォルトの名無しさん mailto:sage [2019/07/08(月) 22:34:22.81 ID:G1DtFXg80.net] Ruby では、< が継承(C is-a B)。 一方、A は包含(B has-a A)なので、Cも、Aを持つ initialize はコンストラクタで、インスタンス構築時に呼ばれる class A end class B def initialize @obj = A.new end end class C < B end p C.new #<C @obj=#<A> >
864 名前:デフォルトの名無しさん mailto:sage [2019/07/08(月) 22:36:19.15 ID:TL3re6KN0.net] NG:ワッチョイ ff2c-NenP
865 名前:デフォルトの名無しさん [2019/07/08(月) 22:40:59.43 ID:k/SnQUmGa.net] うびー禁止
866 名前:デフォルトの名無しさん mailto:sage [2019/07/08(月) 22:41:02.31 ID:j+3NiuIXa.net] >>848 XmlDataProviderはPresentationFramework.dllで RoutedCommandはPresentationCore.dllで定義されているから これらのDLLを参照に追加すればいい: https://dobon.net/vb/dotnet/help/addreference.html
867 名前:デフォルトの名無しさん mailto:sage [2019/07/08(月) 22:42:16.02 ID:3/h7Av580.net] もう「Ruby」をNGワードにしてもいいんじゃね?こいついろんなスレにわきすぎだろ。
868 名前:デフォルトの名無しさん [2019/07/08(月) 22:46:40.42 ID:hY1MiSUP0.net] >>854 なるほど・・・ 困りました 実行環境がpowershell ISEなので参照設定的なものがありません コード上でアセンブリを動的にロードしたり、なにか迂回策をご存知ないでしょうか?
869 名前:デフォルトの名無しさん [2019/07/08(月) 22:49:16.25 ID:hY1MiSUP0.net] ああ、それで >>849 さんのヒントっぽい何かが必要なんですね まださっぱり理解していませんが・・
870 名前:デフォルトの名無しさん mailto:sage [2019/07/08(月) 22:55:28.21 ID:j+3NiuIXa.net] >>856 動的にアセンブリをロードするにはAssembly.Load()があるけどリフレクションを多用することになるし powershell上でそれが適切な方法かは知らないからpowershellのスレで聞いてみたら? PowerShell -Part 3 https://mevius.5ch.net/test/read.cgi/tech/1539074808/l50
871 名前:デフォルトの名無しさん mailto:sage [2019/07/08(月) 22:59:52.24 ID:+Z+rEOeQ0.net] System.Data.dll, netstandard.dll, System.Data.Common.dll この辺add-typeすりゃ良いんじゃとは思うけどもうC#の質問じゃないよ
872 名前:デフォルトの名無しさん [2019/07/08(月) 23:17:43.83 ID:hY1MiSUP0.net] >>858 難易度
873 名前:がかなり高そうなことはわかりました! パワーシェルの本体コード側ではpresentationCoreを参照できているんですが、 バージョン問題でパワーシェルで完結できずに、一旦C#でクラスを記述して、パワーシェルで型として読み込みという手順を踏まなければならず、 肝心のC#のなかでpresentationCore参照できない罠にはまりました ちょっと別のアプローチを考えてみます ありがとうございました! [] [ここ壊れてます]
874 名前:デフォルトの名無しさん mailto:sage [2019/07/08(月) 23:41:05.05 ID:+Z+rEOeQ0.net] add-typeにアセンブリ参照のオプションあるから 頼むでスレチは勘弁して
875 名前:デフォルトの名無しさん [2019/07/09(火) 00:03:22.38 ID:3HHcm2eY0.net] >>861 すみませんでした パワーシェル側からC#コードに参照追加できました!! ※パワーシェルも初心者です 本当にありがとうございました
876 名前:851 mailto:sage [2019/07/09(火) 00:13:09.80 ID:0VeokVre0.net] >>860 >肝心のC#のなかで、presentationCore参照できない罠にはまりました 包含(has-a)だろ。 属性に設定する、メソッドを定義して、引数で渡せば? Ruby では、これで後から、属性に設定できる class D end class E def set_d ( d ) @obj = d end end d = D.new e = E.new e.set_d( d ) p e # <E @obj=#<D> >
877 名前:デフォルトの名無しさん mailto:sage [2019/07/09(火) 01:10:47.36 ID:5NAVk8tL0.net] >>863 参考にならない
878 名前:デフォルトの名無しさん mailto:sage [2019/07/09(火) 01:56:21.69 ID:td6qAd7k0.net] >>863 お前は人の邪魔にしかならないのだから消えろ
879 名前:デフォルトの名無しさん mailto:sage [2019/07/09(火) 13:19:31.64 ID:PNVKPq2+0.net] クラス内クラスを作りましたが、内包してる外側のクラスだけが初期化できるようにできませんか。 public class A { public class B { int data; public B(int data) { this.data = data; } } public B get(int data) { return new B(data); } } という風にすると、A の外から var b = new A.B(5); とかみたいに出来てしまいます。 new B() できるのは A の中だけにしたいのですが。
880 名前:デフォルトの名無しさん mailto:sage [2019/07/09(火) 13:22:52.92 ID:XVpwvTsb0.net] >>866 B のコンストラクタを protected 属性にして、コンパイルしてみてAから も new B 出来なくなってしまった場合は、class B の中で、firend class A; などとすればよいはず。
881 名前:デフォルトの名無しさん mailto:sage [2019/07/09(火) 13:31:17.01 ID:4DQi0zm30.net] friendとかC++じゃないんだから Bはインターフェイスで公開するのがまあ基本かな interface IB { } class A { private class B : IB { } pubilc B Get() { return new B(); } }
882 名前:デフォルトの名無しさん mailto:sage [2019/07/09(火) 13:31:57.06 ID:4DQi0zm30.net] しまったミス public IB Get() { return new B(); }
883 名前:デフォルトの名無しさん mailto:sage [2019/07/09(火) 13:52:20.92 ID:PNVKPq2+0.net] public IB Get() { return new B(); } のところでアクセスビリティが低いと叱られてしまいましたが
884 名前:デフォルトの名無しさん mailto:sage [2019/07/09(火) 14:01:28.14 ID:9fSmOQgfa.net] >>870 classやinterfaceのデフォルトのアクセス修飾子はinternalだからエラーになっている IBのアクセス修飾子をpublicにすればいい
885 名前:デフォルトの名無しさん mailto:sage [2019/07/09(火) 17:12:06.90 ID:XVpwvTsb0.net] C++スレと間違えてた。
886 名前:デフォルトの名無しさん mailto:sage [2019/07/09(火) 21:57:22.42 ID:FuCJaqnQa.net] >>866 (1) Bのコンストラクタをprotectedに (2) Aの中にBを派生したprivateなクラスBBを作る(実装は空っぽでも構わない) (3) BBをnewしてBとして返す まあでも、そこはあんまりこだわる必要ない気が
887 名前:デフォルトの名無しさん mailto:sage [2019/07/10(水) 02:47:30.04 ID:qnddezc/0.net] private async void btn_test_Click(object sender, EventArgs e) { for (int i_time = 0; i_time < 1000 ; i_time++) { await Task.Delay(1 * 1000); Debug.WriteLine(i_time.ToString() + "本だ!"); } } というコードを書いています。 ただ、ループを途中でやめたい場合があります。 ループ(待機中)に他のボタン btn_stop をクリックする事により btn_test の待機処理を停止させる事は出来ないでしょうか?
888 名前:デフォルトの名無しさん mailto:sage [2019/07/10(水) 03:04:19.12 ID:J5NG6fJu0.net] >>874 CancellationTokenを使う
889 名前:デフォルトの名無しさん mailto:sage [2019/07/10(水) 03:05:20.71 ID:b4vpo7xg0.net] hensa40.cutegirl.jp/archives/3971 Task.Delayのオーバーロードを使うのが正解かと
890 名前:デフォルトの名無しさん mailto:sage [2019/07/10(水) 03:18:13.49 ID:bAZEwl9Ua.net] >>874 private async void btn_test_Click(object sender, EventArgs e) { var continuesLoop = true; EventHandler eh = (snd,ea) => continuesLoop = false; btn_stop.Click += eh; for (int i_time = 0; i_time < 1000 && continuesLoop; i_time++) { await Task.Delay(1 * 1000); Debug.WriteLine(i_time.ToString() + "本だ!"); } btn_stop.Click -= eh; }
891 名前:デフォルトの名無しさん [2019/07/10(水) 04:56:00.89 ID:I28sYrGn0.net] CarクラスにDoorとTireをつけたいと思っています しかし、これらを2つのフィールドとした場合ICarインターフェイスにかけずに困ったしまいます こういう場合、普通はどのように書くのが正しい方法なのですか? (個別クラスへの依存性が高い点は無視してください) class Door:IDoor{} class Tire:ITire{} interface IDoor{} interface ITire{} interface ICar{ // doorとtireがあることを記述したいが書けない。プロパティにするのも何か違う気がしてしまう。 } class Car:ICar{//本当ならIDoor, ITireを実装したいが、クラスの方を多重承継できない IDoor door = new Door(); ITire tire = new Tire(); }
892 名前:デフォルトの名無しさん mailto:sage [2019/07/10(水) 05:11:40.64 ID:kxJIAy2u0.net] class Car : ICar, IDoor, ITire { } と書けない状況ってこと?
893 名前:デフォルトの名無しさん mailto:sage [2019/07/10(水) 07:42:46.96 ID:lKfqdkKor.net] interfaceは動作を表す
894 名前:デフォルトの名無しさん mailto:sage [2019/07/10(水) 11:47:28.74 ID:lfKLpD5h0.net] いつからそう錯覚していた?
895 名前:デフォルトの名無しさん mailto:sage [2019/07/10(水) 13:42:25.86 ID:DYVwrjjtM.net] COMを勉強した頃からかな verb=動詞
896 名前:デフォルトの名無しさん mailto:sage [2019/07/10(水) 15:04:43.19 ID:UQq7+8i/M.net] ASP.NETのWebフォームを作っています。bluetoothで接続したバーコードリーダで読み取ったデータをサーバで受け取りたいのですが、どのようにするのがベストでしょうか。 バーコードリーダはHIDプロトコルで接続しターミネータは<CR>です。 TextBoxにフォーカスを当てて受け取ろうと試しましたが入力だけはOnTextChangedイベントが発生しないのでフォーカスの移動等のアクションが必要になります。 読み取るだけで文字列を処理したいです。さらに言えばフォーカスを意識せず取得できればベストなのですが。
897 名前:デフォルトの名無しさん mailto:sage [2019/07/10(水) 18:56:02.39 ID:N35iChMPd.net] 文字入力を勝手に奪うページってこと?セキュリティとかマナー的にありなんだろうか?
898 名前:デフォルトの名無しさん mailto:sage [2019/07/10(水) 18:56:38.37 ID:N35iChMPd.net] 回答になってないですね、ごめんなさい。
899 名前:デフォルトの名無しさん mailto:sage [2019/07/10(水) 19:42:55.22 ID:Tg8SA/BfM.net] >>883 なんでバーコードリーダーの型名とかを書かないんだろう… とりあえずこの辺りを読んでみて https://sakapon.wordpress.com/2010/06/22/barcodereader/
900 名前:デフォルトの名無しさん mailto:sage [2019/07/10(水) 20:43:46.51 ID:eYkR45a20.net] 業務システム作る現場に飛ばされているのですが、コンボボックスの項目をわざわざデータベースに項目作ってそこからいちいち引っ張るような構造にしてるんです プロパティで設定するなりaddするなりすればいいじゃん……と思うんですけど、こういう作りにして何か特になることってあります?
901 名前:デフォルトの名無しさん mailto:sage [2019/07/10(水) 20:48:24.28 ID:Pc5iw8Z80.net] それを作った奴に聞け
902 名前:デフォルトの名無しさん mailto:sage [2019/07/10(水) 21:00:02.47 ID:b4vpo7xg0.net] 難読化の一環だろ(適当)
903 名前:デフォルトの名無しさん mailto:sage [2019/07/10(水) 21:12:03.05 ID:meJrmJ710.net] >>887 コンボボックスの中身が頻繁に変わるならDBに持つのもわからんでもないけど、ただの固定値なら・・・
904 名前:デフォルトの名無しさん mailto:sage [2019/07/10(水) 21:22:53.18 ID:+MeP9mdJ0.net] データベースならいじれる人間が変更かける可能性があったんじゃない? 一応、再ビルドはいらないわけだし
905 名前:デフォルトの名無しさん mailto:sage [2019/07/10(水) 21:28:09.53 ID:b4vpo7xg0.net] 客にDB直接弄らせるとか設計的に論外でしょ… それならXMLで定義するとかにすべきだな
906 名前:デフォルトの名無しさん mailto:sage [2019/07/10(水) 22:13:16.64 ID:yNv9Oz8Z0.net] 要件次第だろ 例えば部署名とかなら社員情報から流し込んだ方が楽で確実だろうし
907 名前:デフォルトの名無しさん mailto:sage [2019/07/10(水) 22:16:46.33 ID:eupZ9wWw0.net] 「税込み」を「内税」に直せとか言われた時簡単に直せるだろ 社内方言は多いぞ
908 名前:デフォルトの名無しさん [2019/07/10(水) 23:49:26.61 ID:4sKxlb560.net] double型は64ビットだから2^64までの数字しか表現できないのに 0...........................98999とかなりの桁数まで表示されるのは何故ですか?
909 名前:デフォルトの名無しさん mailto:sage [2019/07/10(水) 23:51:49.65 ID:eupZ9wWw0.net] double型は64ビットだから300桁以上いけるよ
910 名前:デフォルトの名無しさん mailto:sage [2019/07/11(木) 00:12:58.86 ID:jLO7Qpeya.net] >>895 倍精度浮動小数点数でググってこい
911 名前:デフォルトの名無しさん mailto:sage [2019/07/11(木) 00:14:56.74 ID:slALBnwOa.net] >>895 C#いっこも関係ないよwww https://ja.wikipedia.org/wiki/%E5%80%8D%E7%B2%BE%E5%BA%A6%E6%B5%AE%E5%8B%95%E5%B0%8F%E6%95%B0%E7%82%B9%E6%95%B0
912 名前:デフォルトの名無しさん mailto:sage [2019/07/11(木) 02:04:20.88 ID:AsB2X0JQ0.net] 弟子丸使えよ
913 名前:デフォルトの名無しさん mailto:sage [2019/07/11(木) 02:05:49.77 ID:j5kiUrVb0.net] >>895 そんなあなたにITパスポート
914 名前:デフォルトの名無しさん mailto:sage [2019/07/11(木) 06:37:54.14 ID:PGdrFCZv0.net] dt.Columns.Add("テスト")←この方法でDataTableに列を追加し、 C#でデバッグ中に先ほど追加した列を一時的に削除することは可能でしょうか? デバッグ中にローカル項目を確認し、列名を削除してみたりしたのですが、列を完全に削除できませんでした もしデバッグ中にローカル画面などからDataTable内の列を一時的に削除する方法がありましたら教えてください よろしくお願いします
915 名前:デフォルトの名無しさん mailto:sage [2019/07/11(木) 09:12:10.91 ID:0ZIf3fQR0.net] イミディエイトウィンドウで dt.Columns.Remove("テスト"); すればいいという話でいいのかな
916 名前:デフォルトの名無しさん mailto:sage [2019/07/11(木) 10:04:42.07 ID:+ZnUKM8Wp.net] 有効桁でググれ。
917 名前:デフォルトの名無しさん [2019/07/11(木) 14:01:32.91 ID:6M1lAbxH0.net] おまいらやん www.pro.or.jp/~fuji/mybooks/okite/okite.9.4.html
918 名前:デフォルトの名無しさん mailto:sage [2019/07/11(木) 14:54:26.62 ID:xAACxOAS0.net] 全部読んでないけどC#に限ったらググってトップに出てくる学習サイトが一番マシなんだから本は一切不要だろう C#に限ったらっていったけど今時どんな分野でも下手な本よりグーグルランキグン上位のサイトの方が質高いからな
919 名前:デフォルトの名無しさん [2019/07/11(木) 15:00:57.91 ID:6M1lAbxH0.net] 20世紀の話だった
920 名前:デフォルトの名無しさん mailto:sage [2019/07/11(木) 20:27:30.70 ID:O97KaPiLp.net] >>905 侍エンジニア塾というのがあってだな…
921 名前:デフォルトの名無しさん mailto:sage [2019/07/11(木) 20:37:17.03 ID:xCkJ5LaR0.net] 侍エンジニア塾は、マンツーマンだから高い! 70〜80万円かかる!
922 名前:デフォルトの名無しさん mailto:sage [2019/07/11(木) 20:48:11.97 ID:tSRqKlWG0.net] ++C++だけでじゅうぶん
923 名前:デフォルトの名無しさん [2019/07/11(木) 22:35:54.58 ID:BgPDMp8z0.net] dapperでupdateクエリを実行する時、変更された箇所を自動的に判別して更新してくれる機能はありますか? イメージ的には以下のような感じです。 //読み込み var model = con.Query<Model>("SELECT * FROM table"); //ここでmodelが持ってるプロパティを編集 //編集されたプロパティのみを自動判別してupdateしてくれる。 con.Execute("UPDATE table *");
924 名前:デフォルトの名無しさん [2019/07/11(木) 22:41:20.48 ID:MabNatKwa.net] WPFのMaterial Design Tool Kitを使ってみたのですが、このコントロールの例えばボタンの大きさとかを変えたりすることは出来たりするのでしょうか
925 名前:デフォルトの名無しさん [2019/07/11(木) 22:46:41.40 ID:vUv4mdDMM.net] >>910 そんなものは無い 贅沢な機能が欲しいならEF使え まあDapperで全カラムを更新するのとEFで一部だけ更新するのとでは、殆どの場合において圧倒的に前者の方が速いだろうけどね
926 名前:デフォルトの名無しさん mailto:sage [2019/07/11(木) 22:48:21.28 ID:BgPDMp8z0.net] >>912 ありがとうございます!スッキリしました!
927 名前:デフォルトの名無しさん mailto:sage [2019/07/11(木) 22:52:23.88 ID:Y+auxo+p0.net] >>911 普通にコントロールのサイズを変えるだけでは?
928 名前:デフォルトの名無しさん mailto:sage [2019/07/11(木) 23:27:09.99 ID:D+McUDWk0.net] リアクティブなプロパティを使ってゴニョればできるけど EF使う方が楽
929 名前:デフォルトの名無しさん mailto:sage [2019/07/12(金) 00:37:29.52 ID:Qe/C8AfS0.net] 別にsetのときに何か判定してるでもないのにプロパティ全部getsetいちいち書いて1000行とか使ってるコードに出会った ぜ、全部消したい……客先のコードじゃなかったら……
930 名前:デフォルトの名無しさん mailto:sage [2019/07/12(金) 00:39:59.43 ID:XU4SChRd0.net] 稀に見るJava土方の臭いがするコード
931 名前:デフォルトの名無しさん [2019/07/12(金) 06:36:27.03 ID:l82xLe+v0.net] C#の#ってどれ使えばいいんですか
932 名前:デフォルトの名無しさん mailto:sage [2019/07/12(金) 08:54:37.42 ID:wF3EiDpw0.net] >>916 Bindingも無し?
933 名前:デフォルトの名無しさん mailto:age [2019/07/12(金) 10:04:54.95 ID:1Y9Zea5/M.net] そんな悪いか? 自動プロパティ使ってないってことでしょ?
934 名前:デフォルトの名無しさん [2019/07/13(土) 01:01:25.85 ID:WXtjREf70.net] datagridviewのカラムヘッダーをクリックすると、勝手に1行目のレコードが選択されてしまうのですが、 これを防ぐにはどうすればよいでしょうか。 また、可能であれば、カラムヘッダーのMouseDownイベント自体をキャンセルしたいのですが、どうすればよいでしょうか。
935 名前:デフォルトの名無しさん [2019/07/13(土) 01:06:34.80 ID:iqubl+0xa.net] >>914 ありがとう 調べてみた結果、出来ないっぽいから自作のコントロールでなんとかそれらしくしようと思います
936 名前:デフォルトの名無しさん mailto:sage [2019/07/13(土) 01:14:28.07 ID:QBUcodiM0.net] >>887 これ逆にDBから取得しない方がいいケースってあるん? DBから取得するパターンしかしらんわ
937 名前:デフォルトの名無しさん mailto:sage [2019/07/13(土) 01:16:55.65 ID:snyK+LfD0.net] >>922 質問内容を俺が理解できてないのかな? ↓のページではサイズの異なるボタンが表示されてるけどそういうことではない? neue.cc/2015/09/10_515.html
938 名前:デフォルトの名無しさん mailto:sage [2019/07/13(土) 01:22:16.58 ID:snyK+LfD0.net] >>923 xml、json等のテキストファイルやxlsxで設定ファイルみたいなの作るとか? 変更することが無いような項目ならコード内に埋め込むとか 要件次第で何が良いかは変わると思うからDB一択とはならんと思うけど
939 名前:デフォルトの名無しさん mailto:sage [2019/07/13(土) 01:38:48.66 ID:Zpl1rRtL0.net] >>92
940 名前:1 ヘッダの位置に透明なパネルを置くのが一番早いかもしれない 勝手に一番目のCellが選択されるのはCurrentCell=nullのときにはFirstDisplayedCellで示されたCellが必ず選択されるから あとはDataGridViewを継承してMouseDownイベントを無くしたものを作れるかもしれないけどそっちはわからない [] [ここ壊れてます]
941 名前:デフォルトの名無しさん [2019/07/13(土) 01:41:03.71 ID:iqubl+0xa.net] >>924 ありがとう ツールで提供されてる丸ボタンとかを使いたいんだけど、それらは提供されたボタンのスタイルで決まってて領域を広げてもボタン自体のサイズは変更出来ないような感じなんだけど 実際はアニメーションを使った丸型のトグルボタンを丸ボタンのサイズと同じにしたかったので似たようなことを考えた人がいればと思い質問してみました
942 名前:デフォルトの名無しさん mailto:sage [2019/07/13(土) 07:48:45.74 ID:4NawiDim0.net] >>926 透明なパネルって作れたっけ? やるんならDrawToBitmapでヘッダ部分をキャプチャして グリッドのヘッダに重ねたコントロールに描画するのがいいと思う
943 名前:デフォルトの名無しさん mailto:sage [2019/07/13(土) 13:12:36.40 ID:NDmMB+Lma.net] いい手法とはまったく思えないけど透明で常に最前面のトップレベルウィンドウなら作れるね
944 名前:デフォルトの名無しさん mailto:sage [2019/07/13(土) 17:42:32.06 ID:4NawiDim0.net] >>921 ideone.com/iCo8sd DataGridViewのソースを覗いてみたけどWndProcをいじる以外に方法が無さげ
945 名前:デフォルトの名無しさん mailto:sage [2019/07/13(土) 18:11:32.06 ID:k49AlHPTp.net] 透明なパネルなんて詐欺サイトかチートツールじゃ重宝されそうだな。
946 名前:デフォルトの名無しさん mailto:sage [2019/07/13(土) 18:42:46.89 ID:tImovYMga.net] 意味不明すぎるw
947 名前:>>926 mailto:sage [2019/07/13(土) 19:50:41.36 ID:qsxihLOz0.net] >>921 覆うのは良くないなと思ってはいたけど継承でできたわ public class DataGridViewEX : System.Windows.Forms.DataGridView { protected override void OnMouseDown(System.Windows.Forms.MouseEventArgs e) {//列ヘッダでのMouseDownで勝手に先頭のCellが選択されないようにする。ResizeとSort可 bool b = this.CurrentCell == null && this.HitTest(e.Location.X, e.Location.Y).Type == System.Windows.Forms.DataGridViewHitTestType.ColumnHeader; base.OnMouseDown(e); if (b) this.CurrentCell = null; } } または public class DataGridViewEX : System.Windows.Forms.DataGridView { protected override void OnMouseDown(System.Windows.Forms.MouseEventArgs e) {//列ヘッダでのMouseDownを全て無効にする if (this.HitTest(e.Location.X, e.Location.Y).Type == System.Windows.Forms.DataGridViewHitTestType.ColumnHeader) return; base.OnMouseDown(e); } } 下は>>930 と同じような使い勝手になるはず。MouseEventArgsだからクリックボタンによる処理もメソッドの中に組み込める 勝手に先頭のCellが選択されるのはFocus()やSelect()実行しても起こるけど、まず使わないだろうしそのあとにDataGridView.CurrentCell = nullを入れてもいい 列のResizeでCell選択されるの前に悩んでいてFirstDisplayedCellとFocusまで調べていたけど見た目だけの問題だし面倒だから諦めていた その質問のおかげで改めて調べる気になったから逆に感謝w >>928 例えばDataGridViewの子コントロールとして用意して(datagridview.Controls.Add(panel))、BackColorをTransparentにするだけ。特別なことはいらなかったはず
948 名前:デフォルトの名無しさん mailto:sage [2019/07/13(土) 21:21:56.19 ID:J0SpyLLfa.net] >>933 子コントロールの背景色を透明にしても 最上位のコンテナ(つまりForm)の背景が透けて見えるだけじゃなかったかと
949 名前:デフォルトの名無しさん mailto:sage [2019/07/13(土) 21:32:23.61 ID:qsxihLOz0.net] >>934 じゃあ気が付いてない何か特別なことが必要なのかな DataGridViewじゃなければ過去に何度もやっているしDataGridViewに重ねるのも確認してから書き込んだのだけど
950 名前:デフォルトの名無しさん [2019/07/14(日) 10:27:51.44 ID:/gKQotNU0.net] メソッド定義の場面でメソッド名の後にコロンが付いているのを初めて見ました >protected PizzaStore() : this(new BaseIngredients()){} // 動画内24行目 https://youtu.be/agkWYPUcLpg?t=1678 このコロンはどういう意味の文法なんですか?
951 名前:デフォルトの名無しさん mailto:sage [2019/07/14(日) 10:43:27.29 ID:1ykVpntz0.net] >>936 それコンストラクタだぞ 引数なしのコンストラクタが引数付きのコンストラクタに引数を付けて呼び出してる
952 名前:デフォルトの名無しさん [2019/07/14(日) 10:50:14.89 ID:/gKQotNU0.net] >>937 そういうことなんですか、一見パッとわかりませんでした ありがとうございます
953 名前:デフォルトの名無しさん mailto:sage [2019/07/14(日) 11:29:43.66 ID:1V0xuz/f0.net] string str_test = ""aaaaaaaaaaaaa; txt_word.Text = str_test; // ←デバッグをすすめるとこのコードの実行になぜかフリーズします。 これは何が原因なのでしょうか?
954 名前:デフォルトの名無しさん mailto:sage [2019/07/14(日) 12:20:15.77 ID:67ABvZrhM.net] txt_wordクラスのTextプロパティのセッターが 文字列セットするとフリーズする実装になってるんでしょ
955 名前:デフォルトの名無しさん mailto:sage [2019/07/14(日) 12:22:02.89 ID:BItK59/l0.net] >>939 ""aaaaaaaaaって何が入るの?
956 名前:デフォルトの名無しさん mailto:sage [2019/07/14(日) 12:25:09.72 ID:cixPwHFXp.net] そりゃ転記ミスやろ。 コンテクスト違うってエラーが出てるんじゃね?
957 名前:デフォルトの名無しさん mailto:sage [2019/07/14(日) 12:27:14.57 ID:VKB+2jBS0.net] >>939 TextChangedイベントを確認しましょ
958 名前:デフォルトの名無しさん mailto:sage [2019/07/14(日) 13:09:01.62 ID:1V0xuz/f0.net] >>941 "aaaaaa" です。 >>940 >>943 TextChangeイベントも設定されていません。 もともとこのプロジェクトは、VS2010で作ったものです。 現在は、それをVS2017でメンテナンスをしようとしています。 アップグレードに伴う、VS側のバグでしょうかね??? 一から作り直すのめんどくさいし・・・あーあー VS2017で作成した新規プロジェクトでは、Textboxへの値の設定では 当然フリーズしません。
959 名前:デフォルトの名無しさん mailto:sage [2019/07/14(日) 13:31:47.51 ID:TL4T/r3+a.net] >>944 そもそもtxt_wordの型が書かれてないんだけどTextBox型なの? デバッグ実行中にフリーズする箇所で「一時停止」したら コールスタックに実行中のメソッドが出るけどどこでフリーズする?
960 名前:デフォルトの名無しさん mailto:sage [2019/07/14(日) 13:36:10.50 ID:1ykVpntz0.net] >>944 VS2017のバージョンは、最新(15.9.14)になってる?
961 名前:デフォルトの名無しさん [2019/07/14(日) 13:56:27.70 ID:KJvjECGRF.net] 最初の質問観ただけで 面倒臭い人(質問じゃなくて人)だと判る
962 名前:デフォルトの名無しさん mailto:sage [2019/07/14(日) 14:15:44.45 ID:1V0xuz/f0.net] >>945 間違いなくTextbox型です。 >>946 Version 15.9.14 になっています。 念の為にVSをアップデートしました。
963 名前:デフォルトの名無しさん mailto:sage [2019/07/14(日) 14:22:56.02 ID:1V0xuz/f0.net] 呼び出し元でTextboxに値を入れる分はすぐでした。 呼び出し先のメソッドの中でのデバッグでだけ 遅くなっている様です。 解決できそうです!
964 名前:デフォルトの名無しさん mailto:sage [2019/07/14(日) 14:25:17.32 ID:vFmjWtsga.net] 解決したらどういうことだったか残しといて
965 名前:デフォルトの名無しさん mailto:sage [2019/07/14(日) 16:50:39.75 ID:1V0xuz/f0.net] 原因はわかりませんが、とりあえずスムーズに流れる方法が わかったのでメモしておきます。 もともと@でしたがAに変えたらフリーズしなくなりました。。。 なぜだろう。。。 入っている文字列ですが正確には string str_test = "aaa\r\nbbb\r\nccc\r\nddd\r\neee\r\n"; でした。 @ txt_word.Text = str_test.TrimEnd('\r').TrimEnd('\n'); A txt_word.Text = str_test;
966 名前:デフォルトの名無しさん mailto:sage [2019/07/14(日) 17:21:41.77 ID:eBBABYSj0.net] 末尾の改行消したいなら str_test.TrimEnd('\r', '\n'); か str_test.TrimEnd('\n').TrimEnd('\r'); じゃ?
967 名前:デフォルトの名無しさん mailto:sage [2019/07/14(日) 17:22:25.76 ID:7jVc1wv20.net] 確実に利用者側の問題なのにVS側の不具合を疑う時点でどうかと思う そもそもフリーズってどんな状況よ 不
968 名前:正確な単語使われて情報も部分的にしか出さないでなんでも解決できると思わないでね IDE使ってんだからbreakしてステップ実行しなよ [] [ここ壊れてます]
969 名前:デフォルトの名無しさん mailto:sage [2019/07/14(日) 19:13:36.27 ID:REnBzl1eM.net] 俺みたいにおちょくっておくのが正解だと言うのに
970 名前:デフォルトの名無しさん mailto:sage [2019/07/14(日) 19:24:25.41 ID:1V0xuz/f0.net] >>954 お前ははなから相手にしてない 雑魚が
971 名前:デフォルトの名無しさん mailto:sage [2019/07/14(日) 20:16:20.63 ID:FOkW4A9fr.net] >>955 >>1 も読めない人はもう来ないでね
972 名前:デフォルトの名無しさん mailto:sage [2019/07/14(日) 20:31:52.63 ID:REnBzl1eM.net] 生ゴミに雑魚とか言われちゃったよ(苦笑)
973 名前:デフォルトの名無しさん mailto:sage [2019/07/15(月) 00:13:59.24 ID:Pf4bLsx9a.net] アカン質問者なのはわかってたけど豹変面白すぎ
974 名前:デフォルトの名無しさん mailto:sage [2019/07/15(月) 15:45:33.24 ID:RYqQ15uW0.net] Dapperでクエリを書く時、SetParameterと補間文字列、どっちがいいですか? SetParameterが普通っぽいんですが、下のように、補間文字列でもそう不便しなさそうなんですが・・・ string sql = $"INSERT INTO table(name, chk) VALUES('{textBox1.Text}', '{checkBox1.Checked}')";
975 名前:デフォルトの名無しさん mailto:sage [2019/07/15(月) 15:55:18.36 ID:/B6zOkBad.net] >>959 SQLインジェクション
976 名前:デフォルトの名無しさん mailto:sage [2019/07/15(月) 16:08:29.30 ID:0Vwmqj+cM.net] >>959 もしあなたが職業プログラマで、信頼できない人間がアクセスする可能性のあるソフトウェアの開発に携わったことがあるなら、 今すぐ関係者に連絡してSQLインジェクション脆弱性がないか確認してもらいなさい 誇張ではなくマジで危険
977 名前:デフォルトの名無しさん mailto:sage [2019/07/15(月) 16:52:51.84 ID:BwPtgrfc0.net] 最近自分で私事でサーバー運営の練習してるんだけど、外部からのアタックってけっこうくるのね。大量の謎のアクセスがあって片っ端からURI試されてる。 >>959 ということでセキュリティには絶対気を付けるべき
978 名前:デフォルトの名無しさん [2019/07/15(月) 16:59:54.96 ID:3kssHGHNF.net] アタックに対して堅牢性があっても 糞アクセスのせいでログファイル肥大化して disk full でシステムダウンとか DOS攻撃でネットワーク飽和してダウンとか セキュリティ対策と言っても奥が深い 糞アクセスがあっても安全だからって放置せずに 糞アクセスしてくる相手は片っ端からフィルタで切断した方が良い
979 名前:デフォルトの名無しさん mailto:sage [2019/07/15(月) 17:28:08.54 ID:BwPtgrfc0.net] とりあえずアタックというものは本当にあるんだ、ということが伝えたかった。
980 名前:デフォルトの名無しさん mailto:sage [2019/07/15(月) 17:46:03.68 ID:eJKhhqkr0.net] >>962 つ Nikto 先ずはチェックを
981 名前:デフォルトの名無しさん mailto:sage [2019/07/15(月) 18:08:26.88 ID:lZwtcGpud.net] 結構アタックあるよね。アクセスログ見る習慣もつけたほうが良いと思う。
982 名前:デフォルトの名無しさん mailto:sage [2019/07/15(月) 18:45:14.20 ID:AVRTCka/0.net] ホワイトハウスにクラックするスーパークラッカーが世の中にいるんだよ なので攻撃されたら絶対防げないからあきらめな。 なのでWEB系の基幹システムの開発だけは現役のころは すべてさけてきた。 Windowsシステムなら最悪ローカルで被害がすむ
983 名前:デフォルトの名無しさん mailto:sage [2019/07/15(月) 18:45:44.19 ID:l/0rJj1+0.net] おじいちゃんこんにちは
984 名前:デフォルトの名無しさん mailto:sage [2019/07/15(月) 18:52:00.43 ID:jhuzVcKVM.net] >>962 SSHくらいやってるんだろうね?
985 名前:デフォルトの名無しさん mailto:sage [2019/07/15(月) 20:59:32.14 ID:BwPtgrfc0.net] >>965 丁度脆弱性診断の本買って勉強中です、Niktoというのも調べてみます。 >>969 むしろSSHかさくらの管理コンソール以外からのログインの仕方がわかりませぬ。
986 名前:デフォルトの名無しさん mailto:sage [2019/07/15(月) 21:01:10.84 ID:BwPtgrfc0.net] >>966 ある日を境にアクセス数グラフが爆発的に増えてビックリこきました。アクセスログ見たらそれっぽいURI叩かれまくってて感心してしまった。
987 名前:デフォルトの名無しさん mailto:sage [2019/07/15(月) 21:32:51.08 ID:eJKhhqkr0.net] >>970 Niktoは脆弱性診断ツール 良く知られている攻撃方法は一通りカバー しているかと。 日本語の説明はあちこちにあるけど例えばコレとか https://qiita.com/bezeklik/items/12643654dc0c45f4eb29
988 名前:デフォルトの名無しさん mailto:sage [2019/07/15(月) 22:05:37.33 ID:BwPtgrfc0.net] >>972 ありがとうございます! 完全にスレチになってしまうのでこの辺にしておきます
989 名前:デフォルトの名無しさん mailto:sage [2019/07/16(火) 09:21:03.27 ID:X0DP0wW10.net] >>952 つまり、 txt_word.Text = str_test.TrimEnd('\r').TrimEnd('\n'); の右辺の最初の str_test.TrimEnd('\r') の部分で str_test の末尾に '\r' が 無いのでエラーが生じて例外が throw されていたという落ちですかね。
990 名前:デフォルトの名無しさん mailto:sage [2019/07/16(火) 09:23:45.90 ID:X0DP0wW10.net] >>974 仕様を見てみたらそういうわけでもないようですね。
991 名前:デフォルトの名無しさん mailto:sage [2019/07/16(火) 09:25:36.76 ID:TC9tlVhv0.net] そもそも例外出たってフリーズはせんだろ 何のためのIDEだ
992 名前:デフォルトの名無しさん mailto:sage [2019/07/16(火) 09:30:32.77 ID:X0DP0wW10.net] VSのバグだったら楽しいなwww
993 名前:デフォルトの名無しさん mailto:sage [2019/07/16(火) 11:44:57.75 ID:9jUYV4m+0.net] >>974 >>775 ほんと不思議な事象でした。 tyr catchでかこってもエラーには落ちてきませんでした。 ただ、時間がやたらかかるだけ
994 名前:デフォルトの名無しさん mailto:sage [2019/07/16(火) 12:01:20.00 ID:TC9tlVhv0.net] 例外とエラーと処理に時間がかかるは全部別の事象 そら処理に時間がかかってるところにtry書いたって何の意味もないよ 一番不思議なのはそんな技術力でVSを疑う君だよ
995 名前:デフォルトの名無しさん mailto:sage [2019/07/16(火) 12:47:20.40 ID:i1fbuZ/pM.net] まあ自分以外を疑うのは初心者あるあるやね
996 名前:デフォルトの名無しさん mailto:sage [2019/07/16(火) 14:07:27.08 ID:cyuVEim50.net] 改行されて文字が見えなくなってて、フリーズしたと思い込んでたんじゃない?
997 名前:デフォルトの名無しさん mailto:sage [2019/07/16(火) 15:02:04.77 ID:p80ojOpj0.net] 画像ファイルを相対アドレスで指定してもデザイナが勝手にカレントディレクトリをWindows直下だと思ってフォルダが無いって言ってるのって何とかならないの?
998 名前:デフォルトの名無しさん mailto:sage [2019/07/16(火) 15:21:01.19 ID:CH30lzXT0.net] >>980 次スレはよ
999 名前:デフォルトの名無しさん mailto:sage [2019/07/16(火) 15:37:30.60 ID:i1fbuZ/pM.net] >>983 すまん、うっかりしてたわ 立てたのでよろしく ふらっと C#,C♯,C#(初心者用) Part144 https://mevius.5ch.net/test/read.cgi/tech/1563258983/
1000 名前:デフォルトの名無しさん [2019/07/16(火) 16:06:39.66 ID:X0DP0wW10.net] VSにバグが有るだけじゃないんですかいな。 実際、手元でVS 2019で C++ を試していたら、メニュー・エディタが ハングアップしたりシングルコアでのCPUが100%になって一分以上待たされたり 何回もした。
1001 名前:デフォルトの名無しさん mailto:sage [2019/07/16(火) 16:08:57.60 ID:9jUYV4m+0.net] 多分vsのバグだと思う だけど、このスレッドでは初心者に問題がある、と押し付けるdqnがいるのです。
1002 名前:デフォルトの名無しさん mailto:sage [2019/07/16(火) 16:09:42.20 ID:X0DP0wW10.net] 昔からMSはバグが多いことで知られていて、Win95でもすぐにおかしくなっていた。VSだけは割りと安定していたのだが、最近はVSもMS標準品質になっただけかもしれない。 別に Win95 時代じゃなくても、Officeだっておかしくなるし。 ページ番号がずれてめちゃくちゃに成って直せなく成ったりとか、表を編集中にキャレットが別のカラムに勝手に移って何度やっても思ったカラムに入力できないとか、そんなん物凄くあった。
1003 名前:デフォルトの名無しさん mailto:sage [2019/07/16(火) 16:13:10.50 ID:X0DP0wW10.net] >>986 昔のVC++のころのVSは、問題になるような重大バグは気付かなかったんだけど、今のVSはそんな重大バグがあるんだろうか。 遅いことだけは間違いない。自分の環境だと起動に何十秒(1分?)もかかる。
1004 名前:デフォルトの名無しさん mailto:sage [2019/07/16(火) 16:54:27.52 ID:9jUYV4m+0.net] >>988 もっといいマシンかおうぜ
1005 名前:デフォルトの名無しさん mailto:sage [2019/07/16(火) 17:16:52.20 ID:X0DP0wW10.net] >>989 速いマシンっていうが、どの程度のマシンでどの程度の速度で起動する? 5秒以下になるか?
1006 名前:デフォルトの名無しさん mailto:sage [2019/07/16(火) 17:25:07.83 ID:HGJeyF2e0.net] vs2010を2008R2で動かすと高確率で ハングして閉口したよ
1007 名前:デフォルトの名無しさん mailto:sage [2019/07/16(火) 17:38:23.73 ID:SYYZ7oiM0.net] >>939 こんな再現できないコード貼って他人が解決できるって発想が理解できない ミニマムコード要求すらせずに相手する方もおかしい >>982 C#じゃないOSの仕様で、Windows直下に設定したのはお前じゃね >>984 たておつ
1008 名前:デフォルトの名無しさん mailto:sage [2019/07/16(火) 19:28:02.88 ID:CUl4yCEGa.net] >>984 スレ建て乙
1009 名前:デフォルトの名無しさん mailto:sage [2019/07/16(火) 22:16:31.67 ID:9jUYV4m+0.net] >>990 Corei7-8700CPU 3.20Ghz 3.19Ghz 48GB G-GEAR eX.computer Gaming Service ゲーミングマシン使ってるから早い。
1010 名前:デフォルトの名無しさん mailto:sage [2019/07/16(火) 23:05:46.24 ID:NtL9T2Il0.net] なんだよ48GBって。 中途半端に買い足さないで男らしく64GBいけや
1011 名前:デフォルトの名無しさん mailto:sage [2019/07/16(火) 23:24:36.19 ID:DnEfEKUpF.net] >>995 どうでもいい難癖乙
1012 名前:デフォルトの名無しさん mailto:sage [2019/07/16(火) 23:26:05.36 ID:9jUYV4m+0.net] なんくせやな。 動画編集しながら、VS立ち上げながら、ゲームしても余裕っす もちろんVSごときサクサクっすわ
1013 名前:デフォルトの名無しさん mailto:sage [2019/07/17(水) 01:18:46.85 ID:ANbj1oMn0.net] 今どきシングルコアのPCで開発ってある? 5年前のPCでもそんなの無い気がすんだけど
1014 名前:デフォルトの名無しさん mailto:sage [2019/07/17(水) 01:20:25.68 ID:fz/PHEHW0.net] VM上で開発してるのかもしれない
1015 名前:デフォルトの名無しさん mailto:sage [2019/07/17(水) 01:56:35.78 ID:rBzTe21k0.net] ふんっ1000ゲット
1016 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 61日 6時間 28分 29秒
1017 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています