ふらっと C#,C♯,C#(初心者用) Part143at TECH
ふらっと C#,C♯,C#(初心者用) Part143 - 暇つぶし2ch828:デフォルトの名無しさん
19/07/06 18:29:28.54 PdmrH1Mz0.net
素人ほど自分の力量わからないのは
どの分野でも同じだからね

829:デフォルトの名無しさん
19/07/06 19:38:28.24 r9tUIF43d.net
>>815
単に経歴の話じゃね―よ。
経歴なんて最初から当てにしてないし。
でも集まった時に自信満々だった奴らが何にも分かってなくて驚いたという話。

830:デフォルトの名無しさん
19/07/06 19:41:03.84 r9tUIF43d.net
っていうか、初めて会った時って相手の力量が分からないから、多少自信があっても控えめにするもんじゃね?

831:デフォルトの名無しさん
19/07/06 19:58:03.95 VeSQOako0.net
マでやれ

832:デフォルトの名無しさん
19/07/06 23:06:51.55 DCGSSE0h0.net
>>818
達人は一目(5分の会話)で見抜く

833:デフォルトの名無しさん
19/07/07 00:47:00.43 ibboI0jYa.net
5分もかからん
顔観たら判る

834:デフォルトの名無しさん
19/07/07 09:48:17.84 hDpH6KWgd.net
>>820
そりゃ、面接とかの話。
実際、俺も面接する方になったことが何度かあるが10分も話せばだいたいわかる。
それに、相手に力量が無さそうと思うのはすぐでも、自分のアピールは別だろ。

835:デフォルトの名無しさん
19/07/07 10:15:11.78 j2KZDgbi0.net
>>820-822
スレタイとテンプレを100回読め

836:デフォルトの名無しさん
19/07/07 11:16:58.28 jS7WTg4AM.net
>>823
これが厳格に型付けされた言語の堅牢性というやつか

837:デフォルトの名無しさん
19/07/07 11:45:01.15 L+nDH+YyF.net
面接なら学歴で判るやろ
書類審査で落とせよω

838:デフォルトの名無しさん
19/07/07 13:16:21.46 hDpH6KWgd.net
>>825
だから、面接じゃない。

839:デフォルトの名無しさん
19/07/07 13:18:36.13 RiANTxc00.net
>>824


840:デフォルトの名無しさん
19/07/07 14:49:06.33 BJpXuyXB0.net
今更だけど正規表現って便利だよな

841:デフォルトの名無しさん
19/07/07 15:35:03.89 lzm3aSge0.net
>>828
ケン・トンプソンに足を向けて寝られないな
で、幾ら寄付した

842:デフォルトの名無しさん
19/07/07 16:14:12.50 RiANTxc00.net
正規表現だけは義務教育で必修科目にした方がいいレベル。

843:デフォルトの名無しさん
19/07/07 16:19:18.76 HW54Zi3hr.net
そんな化石じゃなくて、Spracheくらい使いこなして欲しい

844:デフォルトの名無しさん
19/07/07 17:03:29.81 RiANTxc00.net
>>831
聞いたことなかったから調べてみたけどパーサコンビネータなんてものがあるんだな。あるんだな、としか言えないが…

845:デフォルトの名無しさん
19/07/07 23:39:01.62 bDhdwGYba.net
「正規表現」という日本語は誤訳だな
もっとセンスの良い名前にして欲しかった

846:デフォルトの名無しさん
19/07/08 01:02:49.46 cNkXgaMY0.net
IT用語は基本的に直訳だからわかりにくいよな。
まあ一人の日本人代表がいてその人が訳す、ってわけにはいかないから直訳にならざるを得ないんだろうけど。

847:デフォルトの名無しさん
19/07/08 01:19:52.33 hibKRezs0.net
変換する時に性器表現ってなって恥ずかしいです

848:デフォルトの名無しさん
19/07/08 01:22:48.04 PMnHK5x30.net
普段から打ってる文字が出てくるからな

849:デフォルトの名無しさん
19/07/08 03:01:04.74 elBPLT9ba.net
>>833
全然誤訳でも何でもないと思うけどw

850:デフォルトの名無しさん
19/07/08 04:59:48.66 RkH5/lfh0.net
DBからDataGridViewにデータを読み込む際、今はDataSourceプロパティでバインドしてるんですが、
読み込み時に別のカラムを追加して表示させたい場合、バインディングを維持しつつ追加する方法はありますか?
それとも、バインディングはやめてカラムを手動設定したほうが無難ですか?

851:デフォルトの名無しさん
19/07/08 04:59:49.08 RkH5/lfh0.net
DBからDataGridViewにデータを読み込む際、今はDataSourceプロパティでバインドしてるんですが、
読み込み時に別のカラムを追加して表示させたい場合、バインディングを維持しつつ追加する方法はありますか?
それとも、バインディングはやめてカラムを手動設定したほうが無難ですか?

852:デフォルトの名無しさん
19/07/08 06:07:05.98 1ZIC0qck0.net
大事な事なので二度聞いてみました

853:デフォルトの名無しさん
19/07/08 06:08:30.23 FkSdV/QQM.net
linqかませれば普通にいける

854:デフォルトの名無しさん
19/07/08 08:34:05.86 2W9WZX0zr.net
>>839
> 読み込み時に別のカラムを追加して表示させたい場合
読み込みの関数の中でカラムを追加するのだけは止めよう

855:デフォルトの名無しさん
19/07/08 10:00:42.88 LgG8YOFq0.net
性器表現とか、性的解析とか、やらしい。

856:デフォルトの名無しさん
19/07/08 18:56:24.14 JxcTzaD5M.net
全く別の話題だけど
バインドってなんか利点あるんかな?
全部つながってることを確認しにくいっつーか
重くて欠点しかない
正直、制御しにくい
テストも容易じゃねーし

857:デフォルトの名無しさん
19/07/08 21:40:08.92 hY1MiSUP0.net
C#の初心者以前の何も知らない素人です
どうか教えてください
xmlDataProviderを継承して、
System.Windows.Input.RoutedCommand 型のオブジェクトを公開プロパティ(あとからセット可能)に持つ
カスタムクラスはC#でどう書くのでしょうか

858:デフォルトの名無しさん
19/07/08 21:47:33.85 Ng6ihs+br.net
しょしんしゃいぜんのひとがきくないようじゃない

859:デフォルトの名無しさん
19/07/08 22:00:45.38 hY1MiSUP0.net
>>846
powershellでその型を参照したいだけで、本当にC#はさっぱりなんです・・・

860:デフォルトの名無しさん
19/07/08 22:08:07.08 hY1MiSUP0.net
とりあえず適当にそれっぽく書いたら、
using System.Windows.Data;
using System.Windows.Input;
ここで
型または名前空間名 'Data' は名前空間 'System.Windows' に存在しません。アセンブリ参照が不足しています。
って怒られています・・・

861:デフォルトの名無しさん
19/07/08 22:09:28.84 pSGSFVOB0.net
System.Refrection
this.GetType().InvokeMember
辺りが近いかな

862:デフォルトの名無しさん
19/07/08 22:26:24.45 wng3miJE0.net
>>844
画面とバインドされるデータとのつながりを単純にして
バインドされるデータは画面なしでもテストできるようにしておく
のが理想なんじゃね?

863:デフォルトの名無しさん
19/07/08 22:34:22.81 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:デフォルトの名無しさん
19/07/08 22:36:19.15 TL3re6KN0.net
NG:ワッチョイ ff2c-NenP

865:デフォルトの名無しさん
19/07/08 22:40:59.43 k/SnQUmGa.net
うびー禁止

866:デフォルトの名無しさん
19/07/08 22:41:02.31 j+3NiuIXa.net
>>848
XmlDataProviderはPresentationFramework.dllで
RoutedCommandはPresentationCore.dllで定義されているから
これらのDLLを参照に追加すればいい: URLリンク(dobon.net)

867:デフォルトの名無しさん
19/07/08 22:42:16.02 3/h7Av580.net
もう「Ruby」をNGワードにしてもいいんじゃね?こいついろんなスレにわきすぎだろ。

868:デフォルトの名無しさん
19/07/08 22:46:40.42 hY1MiSUP0.net
>>854
なるほど・・・
困りました
実行環境がpowershell ISEなので参照設定的なものがありません
コード上でアセンブリを動的にロードしたり、なにか迂回策をご存知ないでしょうか?

869:デフォルトの名無しさん
19/07/08 22:49:16.25 hY1MiSUP0.net
ああ、それで >>849 さんのヒントっぽい何かが必要なんですね
まださっぱり理解していませんが・・

870:デフォルトの名無しさん
19/07/08 22:55:28.21 j+3NiuIXa.net
>>856
動的にアセンブリをロードするにはAssembly.Load()があるけどリフレクションを多用することになるし
powershell上でそれが適切な方法かは知らないからpowershellのスレで聞いてみたら?
PowerShell -Part 3
スレリンク(tech板)

871:デフォルトの名無しさん
19/07/08 22:59:52.24 +Z+rEOeQ0.net
System.Data.dll, netstandard.dll, System.Data.Common.dll
この辺add-typeすりゃ良いんじゃとは思うけどもうC#の質問じゃないよ

872:デフォルトの名無しさん
19/07/08 23:17:43.83 hY1MiSUP0.net
>>858
難易度


873:がかなり高そうなことはわかりました! パワーシェルの本体コード側ではpresentationCoreを参照できているんですが、 バージョン問題でパワーシェルで完結できずに、一旦C#でクラスを記述して、パワーシェルで型として読み込みという手順を踏まなければならず、 肝心のC#のなかでpresentationCore参照できない罠にはまりました ちょっと別のアプローチを考えてみます ありがとうございました!



874:デフォルトの名無しさん
19/07/08 23:41:05.05 +Z+rEOeQ0.net
add-typeにアセンブリ参照のオプションあるから
頼むでスレチは勘弁して

875:デフォルトの名無しさん
19/07/09 00:03:22.38 3HHcm2eY0.net
>>861
すみませんでした
パワーシェル側からC#コードに参照追加できました!!
※パワーシェルも初心者です
本当にありがとうございました

876:851
19/07/09 00:13:09.80 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:デフォルトの名無しさん
19/07/09 01:10:47.36 5NAVk8tL0.net
>>863
参考にならない

878:デフォルトの名無しさん
19/07/09 01:56:21.69 td6qAd7k0.net
>>863
お前は人の邪魔にしかならないのだから消えろ

879:デフォルトの名無しさん
19/07/09 13:19:31.64 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:デフォルトの名無しさん
19/07/09 13:22:52.92 XVpwvTsb0.net
>>866
B のコンストラクタを protected 属性にして、コンパイルしてみてAから
も new B 出来なくなってしまった場合は、class B の中で、firend class A;
などとすればよいはず。

881:デフォルトの名無しさん
19/07/09 13:31:17.01 4DQi0zm30.net
friendとかC++じゃないんだから
Bはインターフェイスで公開するのがまあ基本かな
interface IB { }
class A {
private class B : IB { }
pubilc B Get() { return new B(); }
}

882:デフォルトの名無しさん
19/07/09 13:31:57.06 4DQi0zm30.net
しまったミス
public IB Get() { return new B(); }

883:デフォルトの名無しさん
19/07/09 13:52:20.92 PNVKPq2+0.net
public IB Get() { return new B(); }
のところでアクセスビリティが低いと叱られてしまいましたが

884:デフォルトの名無しさん
19/07/09 14:01:28.14 9fSmOQgfa.net
>>870
classやinterfaceのデフォルトのアクセス修飾子はinternalだからエラーになっている
IBのアクセス修飾子をpublicにすればいい

885:デフォルトの名無しさん
19/07/09 17:12:06.90 XVpwvTsb0.net
C++スレと間違えてた。

886:デフォルトの名無しさん
19/07/09 21:57:22.42 FuCJaqnQa.net
>>866
(1) Bのコンストラクタをprotectedに
(2) Aの中にBを派生したprivateなクラスBBを作る(実装は空っぽでも構わない)
(3) BBをnewしてBとして返す
まあでも、そこはあんまりこだわる必要ない気が

887:デフォルトの名無しさん
19/07/10 02:47:30.04 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:デフォルトの名無しさん
19/07/10 03:04:19.12 J5NG6fJu0.net
>>874
CancellationTokenを使う

889:デフォルトの名無しさん
19/07/10 03:05:20.71 b4vpo7xg0.net
URLリンク(hensa40.cutegirl.jp)
Task.Delayのオーバーロードを使うのが正解かと

890:デフォルトの名無しさん
19/07/10 03:18:13.49 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:デフォルトの名無しさん
19/07/10 04:56:00.89 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:デフォルトの名無しさん
19/07/10 05:11:40.64 kxJIAy2u0.net
class Car : ICar, IDoor, ITire
{
}
と書けない状況ってこと?

893:デフォルトの名無しさん
19/07/10 07:42:46.96 lKfqdkKor.net
interfaceは動作を表す

894:デフォルトの名無しさん
19/07/10 11:47:28.74 lfKLpD5h0.net
いつからそう錯覚していた?

895:デフォルトの名無しさん
19/07/10 13:42:25.86 DYVwrjjtM.net
COMを勉強した頃からかな
verb=動詞

896:デフォルトの名無しさん
19/07/10 15:04:43.19 UQq7+8i/M.net
ASP.NETのWebフォームを作っています。bluetoothで接続したバーコードリーダで読み取ったデータをサーバで受け取りたいのですが、どのようにするのがベストでしょうか。
バーコードリーダはHIDプロトコルで接続しターミネータは<CR>です。
TextBoxにフォーカスを当てて受け取ろうと試しましたが入力だけはOnTextChangedイベントが発生しないのでフォーカスの移動等のアクションが必要になります。
読み取るだけで文字列を処理したいです。さらに言えばフォーカスを意識せず取得できればベストなのですが。

897:デフォルトの名無しさん
19/07/10 18:56:02.39 N35iChMPd.net
文字入力を勝手に奪うページってこと?セキュリティとかマナー的にありなんだろうか?

898:デフォルトの名無しさん
19/07/10 18:56:38.37 N35iChMPd.net
回答になってないですね、ごめんなさい。

899:デフォルトの名無しさん
19/07/10 19:42:55.22 Tg8SA/BfM.net
>>883
なんでバーコードリーダーの型名とかを書かないんだろう…
とりあえずこの辺りを読んでみて
URLリンク(sakapon.wordpress.com)

900:デフォルトの名無しさん
19/07/10 20:43:46.51 eYkR45a20.net
業務システム作る現場に飛ばされているのですが、コンボボックスの項目をわざわざデータベースに項目作ってそこからいちいち引っ張るような構造にしてるんです
プロパティで設定するなりaddするなりすればいいじゃん……と思うんですけど、こういう作りにして何か特になることってあります?

901:デフォルトの名無しさん
19/07/10 20:48:24.28 Pc5iw8Z80.net
それを作った奴に聞け

902:デフォルトの名無しさん
19/07/10 21:00:02.47 b4vpo7xg0.net
難読化の一環だろ(適当)

903:デフォルトの名無しさん
19/07/10 21:12:03.05 meJrmJ710.net
>>887
コンボボックスの中身が頻繁に変わるならDBに持つのもわからんでもないけど、ただの固定値なら・・・

904:デフォルトの名無しさん
19/07/10 21:22:53.18 +MeP9mdJ0.net
データベースならいじれる人間が変更かける可能性があったんじゃない?
一応、再ビルドはいらないわけだし

905:デフォルトの名無しさん
19/07/10 21:28:09.53 b4vpo7xg0.net
客にDB直接弄らせるとか設計的に論外でしょ…
それならXMLで定義するとかにすべきだな

906:デフォルトの名無しさん
19/07/10 22:13:16.64 yNv9Oz8Z0.net
要件次第だろ
例えば部署名とかなら社員情報から流し込んだ方が楽で確実だろうし

907:デフォルトの名無しさん
19/07/10 22:16:46.33 eupZ9wWw0.net
「税込み」を「内税」に直せとか言われた時簡単に直せるだろ
社内方言は多いぞ

908:デフォルトの名無しさん
19/07/10 23:49:26.61 4sKxlb560.net
double型は64ビットだから2^64までの数字しか表現できないのに
0...........................98999とかなりの桁数まで表示されるのは何故ですか?

909:デフォルトの名無しさん
19/07/10 23:51:49.65 eupZ9wWw0.net
double型は64ビットだから300桁以上いけるよ

910:デフォルトの名無しさん
19/07/11 00:12:58.86 jLO7Qpeya.net
>>895
倍精度浮動小数点数でググってこい

911:デフォルトの名無しさん
19/07/11 00:14:56.74 slALBnwOa.net
>>895
C#いっこも関係ないよwww
URLリンク(ja.wikipedia.org)

912:デフォルトの名無しさん
19/07/11 02:04:20.88 AsB2X0JQ0.net
弟子丸使えよ

913:デフォルトの名無しさん
19/07/11 02:05:49.77 j5kiUrVb0.net
>>895
そんなあなたにITパスポート

914:デフォルトの名無しさん
19/07/11 06:37:54.14 PGdrFCZv0.net
dt.Columns.Add("テスト")←この方法でDataTableに列を追加し、
C#でデバッグ中に先ほど追加した列を一時的に削除することは可能でしょうか?
デバッグ中にローカル項目を確認し、列名を削除してみたりしたのですが、列を完全に削除できませんでした
もしデバッグ中にローカル画面などからDataTable内の列を一時的に削除する方法がありましたら教えてください
よろしくお願いします

915:デフォルトの名無しさん
19/07/11 09:12:10.91 0ZIf3fQR0.net
イミディエイトウィンドウで
dt.Columns.Remove("テスト");
すればいいという話でいいのかな

916:デフォルトの名無しさん
19/07/11 10:04:42.07 +ZnUKM8Wp.net
有効桁でググれ。

917:デフォルトの名無しさん
19/07/11 14:01:32.91 6M1lAbxH0.net
おまいらやん
URLリンク(www.pro.or.jp)

918:デフォルトの名無しさん
19/07/11 14:54:26.62 xAACxOAS0.net
全部読んでないけどC#に限ったらググってトップに出てくる学習サイトが一番マシなんだから本は一切不要だろう
C#に限ったらっていったけど今時どんな分野でも下手な本よりグーグルランキグン上位のサイトの方が質高いからな

919:デフォルトの名無しさん
19/07/11 15:00:57.91 6M1lAbxH0.net
20世紀の話だった

920:デフォルトの名無しさん
19/07/11 20:27:30.70 O97KaPiLp.net
>>905
侍エンジニア塾というのがあってだな…

921:デフォルトの名無しさん
19/07/11 20:37:17.03 xCkJ5LaR0.net
侍エンジニア塾は、マンツーマンだから高い!
70~80万円かかる!

922:デフォルトの名無しさん
19/07/11 20:48:11.97 tSRqKlWG0.net
++C++だけでじゅうぶん

923:デフォルトの名無しさん
19/07/11 22:35:54.58 BgPDMp8z0.net
dapperでupdateクエリを実行する時、変更された箇所を自動的に判別して更新してくれる機能はありますか?
イメージ的には以下のような感じです。
//読み込み
var model = con.Query<Model>("SELECT * FROM table");
//ここでmodelが持ってるプロパティを編集
//編集されたプロパティのみを自動判別してupdateしてくれる。
con.Execute("UPDATE table *");

924:デフォルトの名無しさん
19/07/11 22:41:20.48 MabNatKwa.net
WPFのMaterial Design Tool Kitを使ってみたのですが、このコントロールの例えばボタンの大きさとかを変えたりすることは出来たりするのでしょうか

925:デフォルトの名無しさん
19/07/11 22:46:41.40 vUv4mdDMM.net
>>910
そんなものは無い
贅沢な機能が欲しいならEF使え
まあDapperで全カラムを更新するのとEFで一部だけ更新するのとでは、殆どの場合において圧倒的に前者の方が速いだろうけどね

926:デフォルトの名無しさん
19/07/11 22:48:21.28 BgPDMp8z0.net
>>912
ありがとうございます!スッキリしました!

927:デフォルトの名無しさん
19/07/11 22:52:23.88 Y+auxo+p0.net
>>911
普通にコントロールのサイズを変えるだけでは?

928:デフォルトの名無しさん
19/07/11 23:27:09.99 D+McUDWk0.net
リアクティブなプロパティを使ってゴニョればできるけど
EF使う方が楽

929:デフォルトの名無しさん
19/07/12 00:37:29.52 Qe/C8AfS0.net
別にsetのときに何か判定してるでもないのにプロパティ全部getsetいちいち書いて1000行とか使ってるコードに出会った
ぜ、全部消したい……客先のコードじゃなかったら……

930:デフォルトの名無しさん
19/07/12 00:39:59.43 XU4SChRd0.net
稀に見るJava土方の臭いがするコード

931:デフォルトの名無しさん
19/07/12 06:36:27.03 l82xLe+v0.net
C#の#ってどれ使えばいいんですか

932:デフォルトの名無しさん
19/07/12 08:54:37.42 wF3EiDpw0.net
>>916
Bindingも無し?

933:デフォルトの名無しさん
19/07/12 10:04:54.95 1Y9Zea5/M.net
そんな悪いか?
自動プロパティ使ってないってことでしょ?

934:デフォルトの名無しさん
19/07/13 01:01:25.85 WXtjREf70.net
datagridviewのカラムヘッダーをクリックすると、勝手に1行目のレコードが選択されてしまうのですが、
これを防ぐにはどうすればよいでしょうか。
また、可能であれば、カラムヘッダーのMouseDownイベント自体をキャンセルしたいのですが、どうすればよいでしょうか。

935:デフォルトの名無しさん
19/07/13 01:06:34.80 iqubl+0xa.net
>>914
ありがとう
調べてみた結果、出来ないっぽいから自作のコントロールでなんとかそれらしくしようと思います

936:デフォルトの名無しさん
19/07/13 01:14:28.07 QBUcodiM0.net
>>887
これ逆にDBから取得しない方がいいケースってあるん?
DBから取得するパターンしかしらんわ

937:デフォルトの名無しさん
19/07/13 01:16:55.65 snyK+LfD0.net
>>922
質問内容を俺が理解できてないのかな?
↓のページではサイズの異なるボタンが表示されてるけどそういうことではない?
URLリンク(neue.cc)

938:デフォルトの名無しさん
19/07/13 01:22:16.58 snyK+LfD0.net
>>923
xml、json等のテキストファイルやxlsxで設定ファイルみたいなの作るとか?
変更することが無いような項目ならコード内に埋め込むとか
要件次第で何が良いかは変わると思うからDB一択とはならんと思うけど

939:デフォルトの名無しさん
19/07/13 01:38:48.66 Zpl1rRtL0.net
>>92


940:1 ヘッダの位置に透明なパネルを置くのが一番早いかもしれない 勝手に一番目のCellが選択されるのはCurrentCell=nullのときにはFirstDisplayedCellで示されたCellが必ず選択されるから あとはDataGridViewを継承してMouseDownイベントを無くしたものを作れるかもしれないけどそっちはわからない



941:デフォルトの名無しさん
19/07/13 01:41:03.71 iqubl+0xa.net
>>924
ありがとう
ツールで提供されてる丸ボタンとかを使いたいんだけど、それらは提供されたボタンのスタイルで決まってて領域を広げてもボタン自体のサイズは変更出来ないような感じなんだけど
実際はアニメーションを使った丸型のトグルボタンを丸ボタンのサイズと同じにしたかったので似たようなことを考えた人がいればと思い質問してみました

942:デフォルトの名無しさん
19/07/13 07:48:45.74 4NawiDim0.net
>>926
透明なパネルって作れたっけ?
やるんならDrawToBitmapでヘッダ部分をキャプチャして
グリッドのヘッダに重ねたコントロールに描画するのがいいと思う

943:デフォルトの名無しさん
19/07/13 13:12:36.40 NDmMB+Lma.net
いい手法とはまったく思えないけど透明で常に最前面のトップレベルウィンドウなら作れるね

944:デフォルトの名無しさん
19/07/13 17:42:32.06 4NawiDim0.net
>>921
URLリンク(ideone.com)
DataGridViewのソースを覗いてみたけどWndProcをいじる以外に方法が無さげ

945:デフォルトの名無しさん
19/07/13 18:11:32.06 k49AlHPTp.net
透明なパネルなんて詐欺サイトかチートツールじゃ重宝されそうだな。

946:デフォルトの名無しさん
19/07/13 18:42:46.89 tImovYMga.net
意味不明すぎるw

947:>>926
19/07/13 19:50:41.36 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:デフォルトの名無しさん
19/07/13 21:21:56.19 J0SpyLLfa.net
>>933
子コントロールの背景色を透明にしても
最上位のコンテナ(つまりForm)の背景が透けて見えるだけじゃなかったかと

949:デフォルトの名無しさん
19/07/13 21:32:23.61 qsxihLOz0.net
>>934
じゃあ気が付いてない何か特別なことが必要なのかな
DataGridViewじゃなければ過去に何度もやっているしDataGridViewに重ねるのも確認してから書き込んだのだけど

950:デフォルトの名無しさん
19/07/14 10:27:51.44 /gKQotNU0.net
メソッド定義の場面でメソッド名の後にコロンが付いているのを初めて見ました
>protected PizzaStore() : this(new BaseIngredients()){} // 動画内24行目 URLリンク(youtu.be)
このコロンはどういう意味の文法なんですか?

951:デフォルトの名無しさん
19/07/14 10:43:27.29 1ykVpntz0.net
>>936
それコンストラクタだぞ
引数なしのコンストラクタが引数付きのコンストラクタに引数を付けて呼び出してる

952:デフォルトの名無しさん
19/07/14 10:50:14.89 /gKQotNU0.net
>>937
そういうことなんですか、一見パッとわかりませんでした
ありがとうございます

953:デフォルトの名無しさん
19/07/14 11:29:43.66 1V0xuz/f0.net
string str_test = ""aaaaaaaaaaaaa;
txt_word.Text = str_test; // ←デバッグをすすめるとこのコードの実行になぜかフリーズします。
これは何が原因なのでしょうか?

954:デフォルトの名無しさん
19/07/14 12:20:15.77 67ABvZrhM.net
txt_wordクラスのTextプロパティのセッターが
文字列セットするとフリーズする実装になってるんでしょ

955:デフォルトの名無しさん
19/07/14 12:22:02.89 BItK59/l0.net
>>939
""aaaaaaaaaって何が入るの?

956:デフォルトの名無しさん
19/07/14 12:25:09.72 cixPwHFXp.net
そりゃ転記ミスやろ。
コンテクスト違うってエラーが出てるんじゃね?

957:デフォルトの名無しさん
19/07/14 12:27:14.57 VKB+2jBS0.net
>>939
TextChangedイベントを確認しましょ

958:デフォルトの名無しさん
19/07/14 13:09:01.62 1V0xuz/f0.net
>>941
"aaaaaa" です。

>>940 >>943 
TextChangeイベントも設定されていません。
もともとこのプロジェクトは、VS2010で作ったものです。
現在は、それをVS2017でメンテナンスをしようとしています。
アップグレードに伴う、VS側のバグでしょうかね???
一から作り直すのめんどくさいし・・・あーあー
VS2017で作成した新規プロジェクトでは、Textboxへの値の設定では
当然フリーズしません。

959:デフォルトの名無しさん
19/07/14 13:31:47.51 TL4T/r3+a.net
>>944
そもそもtxt_wordの型が書かれてないんだけどTextBox型なの?
デバッグ実行中にフリーズする箇所で「一時停止」したら
コールスタックに実行中のメソッドが出るけどどこでフリーズする?

960:デフォルトの名無しさん
19/07/14 13:36:10.50 1ykVpntz0.net
>>944
VS2017のバージョンは、最新(15.9.14)になってる?

961:デフォルトの名無しさん
19/07/14 13:56:27.70 KJvjECGRF.net
最初の質問観ただけで
面倒臭い人(質問じゃなくて人)だと判る

962:デフォルトの名無しさん
19/07/14 14:15:44.45 1V0xuz/f0.net
>>945
間違いなくTextbox型です。
>>946
Version 15.9.14
になっています。
念の為にVSをアップデートしました。

963:デフォルトの名無しさん
19/07/14 14:22:56.02 1V0xuz/f0.net
呼び出し元でTextboxに値を入れる分はすぐでした。
呼び出し先のメソッドの中でのデバッグでだけ
遅くなっている様です。
解決できそうです!

964:デフォルトの名無しさん
19/07/14 14:25:17.32 vFmjWtsga.net
解決したらどういうことだったか残しといて

965:デフォルトの名無しさん
19/07/14 16:50:39.75 1V0xuz/f0.net
原因はわかりませんが、とりあえずスムーズに流れる方法が
わかったのでメモしておきます。
もともと①でしたが②に変えたらフリーズしなくなりました。。。
なぜだろう。。。

入っている文字列ですが正確には
string str_test = "aaa\r\nbbb\r\nccc\r\nddd\r\neee\r\n";
でした。

txt_word.Text = str_test.TrimEnd('\r').TrimEnd('\n');

txt_word.Text = str_test;

966:デフォルトの名無しさん
19/07/14 17:21:41.77 eBBABYSj0.net
末尾の改行消したいなら str_test.TrimEnd('\r', '\n'); か str_test.TrimEnd('\n').TrimEnd('\r'); じゃ?

967:デフォルトの名無しさん
19/07/14 17:22:25.76 7jVc1wv20.net
確実に利用者側の問題なのにVS側の不具合を疑う時点でどうかと思う
そもそもフリーズってどんな状況よ



968:正確な単語使われて情報も部分的にしか出さないでなんでも解決できると思わないでね IDE使ってんだからbreakしてステップ実行しなよ



969:デフォルトの名無しさん
19/07/14 19:13:36.27 REnBzl1eM.net
俺みたいにおちょくっておくのが正解だと言うのに

970:デフォルトの名無しさん
19/07/14 19:24:25.41 1V0xuz/f0.net
>>954
お前ははなから相手にしてない
雑魚が

971:デフォルトの名無しさん
19/07/14 20:16:20.63 FOkW4A9fr.net
>>955
>>1 も読めない人はもう来ないでね

972:デフォルトの名無しさん
19/07/14 20:31:52.63 REnBzl1eM.net
生ゴミに雑魚とか言われちゃったよ(苦笑)

973:デフォルトの名無しさん
19/07/15 00:13:59.24 Pf4bLsx9a.net
アカン質問者なのはわかってたけど豹変面白すぎ

974:デフォルトの名無しさん
19/07/15 15:45:33.24 RYqQ15uW0.net
Dapperでクエリを書く時、SetParameterと補間文字列、どっちがいいですか?
SetParameterが普通っぽいんですが、下のように、補間文字列でもそう不便しなさそうなんですが・・・
string sql = $"INSERT INTO table(name, chk) VALUES('{textBox1.Text}', '{checkBox1.Checked}')";

975:デフォルトの名無しさん
19/07/15 15:55:18.36 /B6zOkBad.net
>>959
SQLインジェクション

976:デフォルトの名無しさん
19/07/15 16:08:29.30 0Vwmqj+cM.net
>>959
もしあなたが職業プログラマで、信頼できない人間がアクセスする可能性のあるソフトウェアの開発に携わったことがあるなら、
今すぐ関係者に連絡してSQLインジェクション脆弱性がないか確認してもらいなさい
誇張ではなくマジで危険

977:デフォルトの名無しさん
19/07/15 16:52:51.84 BwPtgrfc0.net
最近自分で私事でサーバー運営の練習してるんだけど、外部からのアタックってけっこうくるのね。大量の謎のアクセスがあって片っ端からURI試されてる。
>>959
ということでセキュリティには絶対気を付けるべき

978:デフォルトの名無しさん
19/07/15 16:59:54.96 3kssHGHNF.net
アタックに対して堅牢性があっても
糞アクセスのせいでログファイル肥大化して
disk full でシステムダウンとか
DOS攻撃でネットワーク飽和してダウンとか
セキュリティ対策と言っても奥が深い
糞アクセスがあっても安全だからって放置せずに
糞アクセスしてくる相手は片っ端からフィルタで切断した方が良い

979:デフォルトの名無しさん
19/07/15 17:28:08.54 BwPtgrfc0.net
とりあえずアタックというものは本当にあるんだ、ということが伝えたかった。

980:デフォルトの名無しさん
19/07/15 17:46:03.68 eJKhhqkr0.net
>>962
つ Nikto
先ずはチェックを

981:デフォルトの名無しさん
19/07/15 18:08:26.88 lZwtcGpud.net
結構アタックあるよね。アクセスログ見る習慣もつけたほうが良いと思う。

982:デフォルトの名無しさん
19/07/15 18:45:14.20 AVRTCka/0.net
ホワイトハウスにクラックするスーパークラッカーが世の中にいるんだよ
なので攻撃されたら絶対防げないからあきらめな。

なのでWEB系の基幹システムの開発だけは現役のころは
すべてさけてきた。
Windowsシステムなら最悪ローカルで被害がすむ

983:デフォルトの名無しさん
19/07/15 18:45:44.19 l/0rJj1+0.net
おじいちゃんこんにちは

984:デフォルトの名無しさん
19/07/15 18:52:00.43 jhuzVcKVM.net
>>962
SSHくらいやってるんだろうね?

985:デフォルトの名無しさん
19/07/15 20:59:32.14 BwPtgrfc0.net
>>965
丁度脆弱性診断の本買って勉強中です、Niktoというのも調べてみます。
>>969
むしろSSHかさくらの管理コンソール以外からのログインの仕方がわかりませぬ。

986:デフォルトの名無しさん
19/07/15 21:01:10.84 BwPtgrfc0.net
>>966
ある日を境にアクセス数グラフが爆発的に増えてビックリこきました。アクセスログ見たらそれっぽいURI叩かれまくってて感心してしまった。

987:デフォルトの名無しさん
19/07/15 21:32:51.08 eJKhhqkr0.net
>>970
Niktoは脆弱性診断ツール
良く知られている攻撃方法は一通りカバー
しているかと。
日本語の説明はあちこちにあるけど例えばコレとか
URLリンク(qiita.com)

988:デフォルトの名無しさん
19/07/15 22:05:37.33 BwPtgrfc0.net
>>972
ありがとうございます!
完全にスレチになってしまうのでこの辺にしておきます

989:デフォルトの名無しさん
19/07/16 09:21:03.27 X0DP0wW10.net
>>952
つまり、
txt_word.Text = str_test.TrimEnd('\r').TrimEnd('\n');
の右辺の最初の str_test.TrimEnd('\r') の部分で str_test の末尾に '\r' が
無いのでエラーが生じて例外が throw されていたという落ちですかね。

990:デフォルトの名無しさん
19/07/16 09:23:45.90 X0DP0wW10.net
>>974
仕様を見てみたらそういうわけでもないようですね。

991:デフォルトの名無しさん
19/07/16 09:25:36.76 TC9tlVhv0.net
そもそも例外出たってフリーズはせんだろ
何のためのIDEだ

992:デフォルトの名無しさん
19/07/16 09:30:32.77 X0DP0wW10.net
VSのバグだったら楽しいなwww

993:デフォルトの名無しさん
19/07/16 11:44:57.75 9jUYV4m+0.net
>>974 >>775
ほんと不思議な事象でした。
tyr catchでかこってもエラーには落ちてきませんでした。
ただ、時間がやたらかかるだけ

994:デフォルトの名無しさん
19/07/16 12:01:20.00 TC9tlVhv0.net
例外とエラーと処理に時間がかかるは全部別の事象
そら処理に時間がかかってるところにtry書いたって何の意味もないよ
一番不思議なのはそんな技術力でVSを疑う君だよ

995:デフォルトの名無しさん
19/07/16 12:47:20.40 i1fbuZ/pM.net
まあ自分以外を疑うのは初心者あるあるやね

996:デフォルトの名無しさん
19/07/16 14:07:27.08 cyuVEim50.net
改行されて文字が見えなくなってて、フリーズしたと思い込んでたんじゃない?

997:デフォルトの名無しさん
19/07/16 15:02:04.77 p80ojOpj0.net
画像ファイルを相対アドレスで指定してもデザイナが勝手にカレントディレクトリをWindows直下だと思ってフォルダが無いって言ってるのって何とかならないの?

998:デフォルトの名無しさん
19/07/16 15:21:01.19 CH30lzXT0.net
>>980
次スレはよ

999:デフォルトの名無しさん
19/07/16 15:37:30.60 i1fbuZ/pM.net
>>983
すまん、うっかりしてたわ
立てたのでよろしく
ふらっと C#,C♯,C#(初心者用) Part144
スレリンク(tech板)

1000:デフォルトの名無しさん
19/07/16 16:06:39.66 X0DP0wW10.net
VSにバグが有るだけじゃないんですかいな。
実際、手元でVS 2019で C++ を試していたら、メニュー・エディタが
ハングアップしたりシングルコアでのCPUが100%になって一分以上待たされたり
何回もした。

1001:デフォルトの名無しさん
19/07/16 16:08:57.60 9jUYV4m+0.net
多分vsのバグだと思う
だけど、このスレッドでは初心者に問題がある、と押し付けるdqnがいるのです。

1002:デフォルトの名無しさん
19/07/16 16:09:42.20 X0DP0wW10.net
昔からMSはバグが多いことで知られていて、Win95でもすぐにおかしくなっていた。VSだけは割りと安定していたのだが、最近はVSもMS標準品質になっただけかもしれない。
別に Win95 時代じゃなくても、Officeだっておかしくなるし。
ページ番号がずれてめちゃくちゃに成って直せなく成ったりとか、表を編集中にキャレットが別のカラムに勝手に移って何度やっても思ったカラムに入力できないとか、そんなん物凄くあった。

1003:デフォルトの名無しさん
19/07/16 16:13:10.50 X0DP0wW10.net
>>986
昔のVC++のころのVSは、問題になるような重大バグは気付かなかったんだけど、今のVSはそんな重大バグがあるんだろうか。
遅いことだけは間違いない。自分の環境だと起動に何十秒(1分?)もかかる。

1004:デフォルトの名無しさん
19/07/16 16:54:27.52 9jUYV4m+0.net
>>988
もっといいマシンかおうぜ

1005:デフォルトの名無しさん
19/07/16 17:16:52.20 X0DP0wW10.net
>>989
速いマシンっていうが、どの程度のマシンでどの程度の速度で起動する?
5秒以下になるか?

1006:デフォルトの名無しさん
19/07/16 17:25:07.83 HGJeyF2e0.net
vs2010を2008R2で動かすと高確率で
ハングして閉口したよ

1007:デフォルトの名無しさん
19/07/16 17:38:23.73 SYYZ7oiM0.net
>>939
こんな再現できないコード貼って他人が解決できるって発想が理解できない
ミニマムコード要求すらせずに相手する方もおかしい
>>982
C#じゃないOSの仕様で、Windows直下に設定したのはお前じゃね
>>984
たておつ

1008:デフォルトの名無しさん
19/07/16 19:28:02.88 CUl4yCEGa.net
>>984
スレ建て乙

1009:デフォルトの名無しさん
19/07/16 22:16:31.67 9jUYV4m+0.net
>>990
Corei7-8700CPU 3.20Ghz 3.19Ghz
48GB
G-GEAR eX.computer Gaming Service
ゲーミングマシン使ってるから早い。

1010:デフォルトの名無しさん
19/07/16 23:05:46.24 NtL9T2Il0.net
なんだよ48GBって。
中途半端に買い足さないで男らしく64GBいけや

1011:デフォルトの名無しさん
19/07/16 23:24:36.19 DnEfEKUpF.net
>>995
どうでもいい難癖乙

1012:デフォルトの名無しさん
19/07/16 23:26:05.36 9jUYV4m+0.net
なんくせやな。
動画編集しながら、VS立ち上げながら、ゲームしても余裕っす
もちろんVSごときサクサクっすわ

1013:デフォルトの名無しさん
19/07/17 01:18:46.85 ANbj1oMn0.net
今どきシングルコアのPCで開発ってある?
5年前のPCでもそんなの無い気がすんだけど

1014:デフォルトの名無しさん
19/07/17 01:20:25.68 fz/PHEHW0.net
VM上で開発してるのかもしれない

1015:デフォルトの名無しさん
19/07/17 01:56:35.78 rBzTe21k0.net
ふんっ1000ゲット

1016:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 61日 6時間 28分 29秒

1017:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch