!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/
■コードを貼る場合は↓を使いましょう。
http://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
http://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
探検
ふらっと C#,C♯,C#(初心者用) Part145
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 1e7b-qjLW)
2019/10/07(月) 20:16:17.93ID:9eyAES45072デフォルトの名無しさん (ワッチョイ 9701-UsEV)
2019/10/11(金) 16:55:31.32ID:BNgoH63S0 Properties.Settings.Defaultについて教えてください
DataGridViewのセル幅の設定を保存したいのですが、いい方法はあるでしょうか?
セルが20個ほど並んでるのですが、Settings.SettingsにはInt[]の配列が選べないし
プロパティバインディングも項目がありません、たくさんのIntを保存するにはどうしたらよいでしょか?
DataGridViewのセル幅の設定を保存したいのですが、いい方法はあるでしょうか?
セルが20個ほど並んでるのですが、Settings.SettingsにはInt[]の配列が選べないし
プロパティバインディングも項目がありません、たくさんのIntを保存するにはどうしたらよいでしょか?
73デフォルトの名無しさん (アウアウウー Sa5b-YqqQ)
2019/10/11(金) 16:55:34.98ID:Qe/y/ERba >>66
謎だねw
#ifディレクティブやコメントアウトを選択しなかった理由は
IDEでシンボル検索した時に引っかかるようにしたかったから、とかも考えられるけど、
まあ多分単純に書いた人がアホなだけだろうw
仮にそうう理由があるとしてもfalseなんてリテラルをそのまま書くのは意味が分からん
謎だねw
#ifディレクティブやコメントアウトを選択しなかった理由は
IDEでシンボル検索した時に引っかかるようにしたかったから、とかも考えられるけど、
まあ多分単純に書いた人がアホなだけだろうw
仮にそうう理由があるとしてもfalseなんてリテラルをそのまま書くのは意味が分からん
74デフォルトの名無しさん (ワッチョイ 5701-Jxu8)
2019/10/11(金) 17:05:59.65ID:V+fiNkQ50 Java屋に呪いをかけられた。
75デフォルトの名無しさん (ワッチョイ 7f7c-AFDN)
2019/10/11(金) 17:10:57.43ID:Nij9ynML0 >>72
カンマ区切りの文字列にでもするとか
カンマ区切りの文字列にでもするとか
76デフォルトの名無しさん (ワッチョイ 9f42-NJTS)
2019/10/11(金) 17:48:11.14ID:6fhPxX7E0 json.netで文字列にして保存とか・・・そこまでやるならってのはナシで
77デフォルトの名無しさん (ドコグロ MM2b-Kkga)
2019/10/11(金) 17:58:14.17ID:Y/pxrYXGM78デフォルトの名無しさん (スププ Sdbf-d6eQ)
2019/10/11(金) 18:18:20.39ID:8nYO+EkJd 質問した人はもはや興味なくなってそう
79デフォルトの名無しさん (ワッチョイ 9701-UsEV)
2019/10/11(金) 19:16:25.09ID:BNgoH63S080デフォルトの名無しさん (ワッチョイ 5701-Jxu8)
2019/10/11(金) 19:54:41.57ID:V+fiNkQ50 splitで配列化出来るでしょ?
81デフォルトの名無しさん (ワッチョイ 7f7c-AFDN)
2019/10/11(金) 19:57:20.55ID:Nij9ynML0 挙動が怪しいって言われてもコメントしようがない
82デフォルトの名無しさん (オッペケ Srcb-8cCB)
2019/10/11(金) 19:59:39.92ID:NbTMQOfEr カンマが全角半角交じりなのかもね
83デフォルトの名無しさん (ワッチョイ 9701-UsEV)
2019/10/11(金) 20:21:50.98ID:BNgoH63S0 >>80
さんくす
数字カンマで区切ってsplitですか、簡単にできそうですね
>>81
保存する種類をsystem.collections.specialized.stringcollectionとゆう文字列のコレクションを使って
.addと.clearでいろいろやってるうちにwidthが0になったりと
Properties.Settings.Default.cellwidth = new System.Collections.Specialized.StringCollection();
for (int i = 0; i < DataGridView1.ColumnCount; i++)
{
Properties.Settings.Default.cellwidth.Add(DataGridView1.Columns[i].Width.ToString());
}
こんなんです、これは捨てます
さんくす
数字カンマで区切ってsplitですか、簡単にできそうですね
>>81
保存する種類をsystem.collections.specialized.stringcollectionとゆう文字列のコレクションを使って
.addと.clearでいろいろやってるうちにwidthが0になったりと
Properties.Settings.Default.cellwidth = new System.Collections.Specialized.StringCollection();
for (int i = 0; i < DataGridView1.ColumnCount; i++)
{
Properties.Settings.Default.cellwidth.Add(DataGridView1.Columns[i].Width.ToString());
}
こんなんです、これは捨てます
84デフォルトの名無しさん (ワッチョイ 1788-3EhD)
2019/10/11(金) 20:36:41.64ID:w9BsPIYw0 string.Join(",", array)で保存
array=text.Split(",").ToArray()で復元
スマホで書いたからミスってたらごめん
array=text.Split(",").ToArray()で復元
スマホで書いたからミスってたらごめん
85デフォルトの名無しさん (アウアウエー Sadf-P4H7)
2019/10/11(金) 20:37:39.82ID:NJkU4MQ7a >>49
非光沢液晶のパソコンでプログラミングすることをすすめます。
非光沢液晶のパソコンでプログラミングすることをすすめます。
86デフォルトの名無しさん (ワッチョイ 9701-UsEV)
2019/10/11(金) 20:48:12.25ID:BNgoH63S087デフォルトの名無しさん (ワッチョイ 9f01-XBGY)
2019/10/11(金) 21:11:40.42ID:LwZAFcHp088デフォルトの名無しさん (ワッチョイ 9f01-XBGY)
2019/10/11(金) 21:37:31.10ID:LwZAFcHp089デフォルトの名無しさん (ワッチョイ 9fba-hyGP)
2019/10/11(金) 21:55:04.78ID:Obz6LqVu0 不要な循環参照は避けるに越したことはないが
絶対に回避しないといけないものではないしな
設計的に妥当かどうか
絶対に回避しないといけないものではないしな
設計的に妥当かどうか
90デフォルトの名無しさん (ワッチョイ 9701-UsEV)
2019/10/11(金) 22:06:26.29ID:BNgoH63S09136 (ワッチョイ 976e-qVzB)
2019/10/11(金) 22:30:13.36ID:SS1U2hzP0 遅くなりましたがありがとうございました。とりあえずprivateでやってみようと思います。
しかし恥ずかしながらローカル関数って初めて知りました……こんなんあったのか
しかし恥ずかしながらローカル関数って初めて知りました……こんなんあったのか
92デフォルトの名無しさん (ブーイモ MMbf-dMdZ)
2019/10/11(金) 23:40:49.38ID:AHeGNijQM なんとローカルクラスもあったりするぞ
93デフォルトの名無しさん (ワッチョイ 9f79-NJTS)
2019/10/12(土) 03:22:40.33ID:wdaAvj3T0 ローカルクラスとか初めて聞いたんだが
Javaか何かと間違えてないか?
Javaか何かと間違えてないか?
94デフォルトの名無しさん (ワッチョイ 9fba-hyGP)
2019/10/12(土) 03:39:46.40ID:GmlLfjiE0 内部クラスつまりクラス内クラスのことかもな
ローカルクラスとは言わないけどな
ローカルクラスとは言わないけどな
95デフォルトの名無しさん (ワッチョイ ff1b-7XqI)
2019/10/12(土) 08:19:37.23ID:2OGp7+/U0 匿名クラスのことだろ
LinQの関数の戻りとかでたまに使う
LinQの関数の戻りとかでたまに使う
96デフォルトの名無しさん (ワッチョイ ff1b-7XqI)
2019/10/12(土) 08:24:48.13ID:2OGp7+/U0 var hoge = new { Name = "Masashi", Hage = true };
こんな感じで宣言出來ると思う
こんな感じで宣言出來ると思う
97デフォルトの名無しさん (ワッチョイ 7717-NJTS)
2019/10/12(土) 11:24:29.87ID:tnbTUN6u0 class hoge {
class fuga {}
class moge {}
}
こういうやつ
呼び方は知らん
class fuga {}
class moge {}
}
こういうやつ
呼び方は知らん
98デフォルトの名無しさん (ワッチョイ 9fad-0kc9)
2019/10/12(土) 11:25:43.31ID:V3SUioeZ0 ローカルクラスwww
99デフォルトの名無しさん (ワッチョイ 97ad-Gs6/)
2019/10/12(土) 11:45:16.39ID:vesGJIfT0 Java 用語だったのか。 < ローカルクラス
クラス内だけじゃなくてメソッド内でも作れるみたいだけど。
匿名クラスは無名クラスだと思ってた自分。
この流れでしょうもないことを聞いてみる。
static なメンバ変数の修飾子というか、
static でないメンバ変数の this.[変数名] の this に当たるようなのってなにかないですか。
[クラス名].[変数名] で ok なのだけど、[クラス名] の部分を固定でやる方法ないかなと。
クラス内だけじゃなくてメソッド内でも作れるみたいだけど。
匿名クラスは無名クラスだと思ってた自分。
この流れでしょうもないことを聞いてみる。
static なメンバ変数の修飾子というか、
static でないメンバ変数の this.[変数名] の this に当たるようなのってなにかないですか。
[クラス名].[変数名] で ok なのだけど、[クラス名] の部分を固定でやる方法ないかなと。
100デフォルトの名無しさん (ワッチョイ 177b-1wBF)
2019/10/12(土) 11:59:16.22ID:XFT6PVwJ0 >>99
エイリアスとかこういう話?
using ディレクティブ
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/using-directive
エイリアスとかこういう話?
using ディレクティブ
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/using-directive
101デフォルトの名無しさん (ワッチョイ 9ff9-MuM5)
2019/10/12(土) 13:15:47.71ID:4Z7PGm8S0102デフォルトの名無しさん (ワッチョイ 9701-UsEV)
2019/10/13(日) 08:38:04.22ID:LP1yPe2h0 for(int i = 0; DataGridView1.Columns.Count > i; i++)
{
DataGridView1.Columns[i].MinimumWidth = 20;
}
これってもっと簡単に書けませんか?
{
DataGridView1.Columns[i].MinimumWidth = 20;
}
これってもっと簡単に書けませんか?
103デフォルトの名無しさん (ワッチョイ 9fba-hyGP)
2019/10/13(日) 08:43:29.30ID:vtlUUDcx0 重複するコードを削っていくのがコツ
104デフォルトの名無しさん (ワッチョイ 9fba-hyGP)
2019/10/13(日) 08:45:05.27ID:vtlUUDcx0 コード変えていいならLINQとかもあり
105デフォルトの名無しさん (ワッチョイ 976e-qVzB)
2019/10/13(日) 09:09:50.77ID:d8Y4MxQw0 全回しするときは基本的にforeachを使う
ただlinqのforeachを使ってよいのかはよくわからん。パフォーマンス悪いと聞くし
ただlinqのforeachを使ってよいのかはよくわからん。パフォーマンス悪いと聞くし
106デフォルトの名無しさん (ワッチョイ ff1b-7XqI)
2019/10/13(日) 09:18:59.05ID:MGaULTRj0 LinqにForEachはない
あれはリストのメソッドだよ
あれはリストのメソッドだよ
107デフォルトの名無しさん (ワッチョイ 9701-UsEV)
2019/10/13(日) 09:22:18.96ID:LP1yPe2h0108デフォルトの名無しさん (アウアウイー Sacb-FzDa)
2019/10/13(日) 09:33:52.48ID:f3TGJJSYa ん?
for (var c in DataGridView1.Columns) { c.MinimumWidth=20; }
よりも短く描きたいってこと?
for (var c in DataGridView1.Columns) { c.MinimumWidth=20; }
よりも短く描きたいってこと?
109デフォルトの名無しさん (ワッチョイ f761-GP3X)
2019/10/13(日) 09:47:34.60ID:OAJhlsQO0 そんなんどうでもいいから動くモノ作れよ初心者
110デフォルトの名無しさん (ワッチョイ 9701-UsEV)
2019/10/13(日) 11:07:58.19ID:LP1yPe2h0111デフォルトの名無しさん (ブーイモ MMfb-7uLQ)
2019/10/13(日) 11:40:17.68ID:OktAHnGcM >>108
foreach
foreach
112デフォルトの名無しさん (ワッチョイ ff1b-7XqI)
2019/10/13(日) 11:45:00.17ID:MGaULTRj0 >>110
var をDataGridColumn に変えれば出る
var をDataGridColumn に変えれば出る
113デフォルトの名無しさん (アウアウイー Sacb-FzDa)
2019/10/13(日) 11:55:56.33ID:f3TGJJSYa えーそんなわけないでしょと思って確認したら
ColumnsのDataGridViewColumnCollectionは非ジェネリクスのIListしか実装してないのか・・・
DataGridViewってVS2005以前の書き方で実装されてるのね
となると、かっこ悪いけどキャストをかませて
for (var c in DataGridView1.Columns) { (c as DataGridViewColumn).MinimumWidth=20; }
と書くくらいしかないか、>>103のとおりDataGridView.Columnsを変数にするくらいしかなさそう
ColumnsのDataGridViewColumnCollectionは非ジェネリクスのIListしか実装してないのか・・・
DataGridViewってVS2005以前の書き方で実装されてるのね
となると、かっこ悪いけどキャストをかませて
for (var c in DataGridView1.Columns) { (c as DataGridViewColumn).MinimumWidth=20; }
と書くくらいしかないか、>>103のとおりDataGridView.Columnsを変数にするくらいしかなさそう
114デフォルトの名無しさん (アウアウイー Sacb-FzDa)
2019/10/13(日) 11:57:39.01ID:f3TGJJSYa あ、forじゃなくてforeachか
ちゃんとIDEなりVSCodeなり立ち上げて書かなきゃだめね、失礼
ちゃんとIDEなりVSCodeなり立ち上げて書かなきゃだめね、失礼
115デフォルトの名無しさん (ワッチョイ 9701-Wib4)
2019/10/13(日) 12:28:10.86ID:Fykc0AcJ0 抽象クラスとインターフェースの使い分けのコツを具体例で教えて下さい!
116デフォルトの名無しさん (ブーイモ MMfb-4N8v)
2019/10/13(日) 12:37:21.72ID:mgqzqij/M 昔の人は言いました「習うより慣れろ」
117デフォルトの名無しさん (ワッチョイ f761-NJTS)
2019/10/13(日) 12:37:30.46ID:f2RSEbKl0 そんなんどうでもいいから動くモノ作れよ初心者
118デフォルトの名無しさん (アウアウウー Sa5b-Cvo3)
2019/10/13(日) 12:43:25.13ID:2Iz5cpana >>116
使い分ける必要はない
常にインターフェイスを使う、でいいよ
抽象クラスはインターフェイスを使った上で、どうしても実装の大部分が重複してしまうような場合に稀に使うことがある、という程度のもの
全く使わなくても問題はない
使い分ける必要はない
常にインターフェイスを使う、でいいよ
抽象クラスはインターフェイスを使った上で、どうしても実装の大部分が重複してしまうような場合に稀に使うことがある、という程度のもの
全く使わなくても問題はない
119デフォルトの名無しさん (ワッチョイ 97ad-Gs6/)
2019/10/13(日) 12:58:41.62ID:BB7naElC0 >>100
所属クラスを示す汎用のエイリアスのようなものがないかなーと。
でも using static ディレクティブ自体を知らなかったので勉強になりました。これを定義すれば結果として同じ事出来るし。
ありがとう。
所属クラスを示す汎用のエイリアスのようなものがないかなーと。
でも using static ディレクティブ自体を知らなかったので勉強になりました。これを定義すれば結果として同じ事出来るし。
ありがとう。
120デフォルトの名無しさん (ブーイモ MMfb-4N8v)
2019/10/13(日) 13:02:36.16ID:mgqzqij/M 昔の人は言いました「100人のプログラマーがいたら100通りのオブジェクト指向がある」
121デフォルトの名無しさん (ワッチョイ 9701-UsEV)
2019/10/13(日) 13:29:52.94ID:LP1yPe2h0122デフォルトの名無しさん (ワッチョイ 1763-pvAI)
2019/10/13(日) 14:00:31.12ID:2cfG7zlA0 8からデフォルト実装も入るからますます使いどころが
123デフォルトの名無しさん (ワッチョイ ff7c-NJTS)
2019/10/13(日) 18:12:47.60ID:0yCAsIX/0 WinFormsで、フォーカスが当たってない時でもキー入力を取る方法ってありますか?
124デフォルトの名無しさん (ワッチョイ f77b-l+7E)
2019/10/13(日) 18:19:19.83ID:jypX7pQ50125デフォルトの名無しさん (アウアウウー Sa5b-djnn)
2019/10/15(火) 07:52:01.52ID:AMNrrJ6ya >>123
key入力をグローバルHook
key入力をグローバルHook
126デフォルトの名無しさん (ササクッテロル Spcb-W2Tq)
2019/10/15(火) 11:19:35.89ID:m0jqn6iGp アプリ自体にフォーカス当たって無くてもいいの?
127デフォルトの名無しさん (ワッチョイ 17da-M8NH)
2019/10/15(火) 11:24:15.06ID:pr9WFxZa0 イインダヨ
128デフォルトの名無しさん (ササクッテロル Spcb-W2Tq)
2019/10/15(火) 11:28:33.47ID:m0jqn6iGp ああ、パスワードスキミングするならむしろそうじゃないと都合悪いかw
129デフォルトの名無しさん (ブーイモ MMcf-M8NH)
2019/10/15(火) 11:50:04.39ID:+5Q+C2RJM 必死でない頭絞って
やっと浮かんだ用途がそれなのか?
残念な人だこと…
やっと浮かんだ用途がそれなのか?
残念な人だこと…
130デフォルトの名無しさん (ワッチョイ f738-hyGP)
2019/10/15(火) 14:23:13.71ID:fSd1Dwex0 この手の質問に対する定番の回答やぞ
131デフォルトの名無しさん (ワッチョイ 7745-/roT)
2019/10/15(火) 20:41:28.27ID:5pSAXFzm0 1ヶ月位VBAを触って今日Visual Studio Express 2017をインストールしました
せっかくならVBAの癖が着く前に…と思ったのですが、VBAで書いたプログラムに互換性は無いでしょうか?
せっかくならVBAの癖が着く前に…と思ったのですが、VBAで書いたプログラムに互換性は無いでしょうか?
132デフォルトの名無しさん (アウアウウー Sa5b-YqqQ)
2019/10/15(火) 20:52:55.04ID:Hz78fwHza >>131
ここ、C#のスレだよw
VBAは20年前に死亡宣告されたVB6の親戚。
今のVisual Studioに入ってるVisual Basicとは似てるけど別物。
もちろんC#とは似ても似つかない
ここ、C#のスレだよw
VBAは20年前に死亡宣告されたVB6の親戚。
今のVisual Studioに入ってるVisual Basicとは似てるけど別物。
もちろんC#とは似ても似つかない
133デフォルトの名無しさん (ワッチョイ 7717-NJTS)
2019/10/15(火) 20:54:38.84ID:E2P2T6Cd0134デフォルトの名無しさん (ワッチョイ 7745-/roT)
2019/10/15(火) 21:03:51.96ID:5pSAXFzm0135デフォルトの名無しさん (ワッチョイ f7da-Jxu8)
2019/10/15(火) 21:13:12.98ID:E/67JFVJ0 SharpDevelop入れて、C#→vbかな
136デフォルトの名無しさん (ワッチョイ ff7b-v59O)
2019/10/15(火) 21:15:31.52ID:n+UvEGVJ0 >>134
質問の内容が変わっているよね
VBAで作ったものはVB.Netに手直し程度で動かせるようになるものができる場合もあるけどC#は書き方も完全に別物
ここで聞くより自分のPCで動かしてみたほうが早い
質問の内容が変わっているよね
VBAで作ったものはVB.Netに手直し程度で動かせるようになるものができる場合もあるけどC#は書き方も完全に別物
ここで聞くより自分のPCで動かしてみたほうが早い
137デフォルトの名無しさん (ワッチョイ 9fad-0kc9)
2019/10/15(火) 21:15:48.41ID:h8W4Pu510 >>135
そこはVisual Studio Codeやろ…
そこはVisual Studio Codeやろ…
138デフォルトの名無しさん (アウアウウー Sa5b-YqqQ)
2019/10/15(火) 21:16:06.96ID:Hz78fwHza139デフォルトの名無しさん (ワッチョイ 972d-epSy)
2019/10/15(火) 21:20:18.71ID:zMbku3w90 用語と名付けルールについていくつか教えてください
まず、class Asdf{}の入れた物(Asdf asdf; でいうasdf)は、何と呼べばいいんですか?変数でいいのでしょうか?
また、Asdfの入ったものを自動プロパティで宣言したい場合、一文字めを大文字にすべきなのでしょうか?
Asdf Asdf{get; set;}なのか、Asdf asdf{get; set;}なのかどちらが正しいのでしょうか
まず、class Asdf{}の入れた物(Asdf asdf; でいうasdf)は、何と呼べばいいんですか?変数でいいのでしょうか?
また、Asdfの入ったものを自動プロパティで宣言したい場合、一文字めを大文字にすべきなのでしょうか?
Asdf Asdf{get; set;}なのか、Asdf asdf{get; set;}なのかどちらが正しいのでしょうか
140デフォルトの名無しさん (アウアウウー Sa5b-AFDN)
2019/10/15(火) 21:23:27.13ID:NTOFWHv0a141デフォルトの名無しさん (ワッチョイ 7745-/roT)
2019/10/15(火) 21:25:58.88ID:5pSAXFzm0142デフォルトの名無しさん (ワッチョイ 972d-epSy)
2019/10/15(火) 22:44:41.51ID:zMbku3w90143デフォルトの名無しさん (ワッチョイ 1663-GUq/)
2019/10/17(木) 01:03:06.25ID:GTpPRCCe0 Pythonでは文字列をコマンドとして実行するのにevalとexecの2つあるみたいですが
C#で文字列をコマンドとして実行するには、eval以外の関数はありますか?
C#で文字列をコマンドとして実行するには、eval以外の関数はありますか?
144デフォルトの名無しさん (ワッチョイ 23da-CXe6)
2019/10/17(木) 01:25:51.67ID:lbhPCdA40 あるよ
145デフォルトの名無しさん (ワイーワ2 FF6a-uHRg)
2019/10/17(木) 09:37:45.19ID:ewN8FeZ7F subprocess.popen
subprocess.call
subprocess.call_hogehoge
もっとあるぞ
subprocess.call
subprocess.call_hogehoge
もっとあるぞ
146デフォルトの名無しさん (ワッチョイ 5fda-+VEO)
2019/10/17(木) 11:49:09.47ID:qkwcuRdz0 フォーム間でのデータの受け渡しを行うクールな方法を教えて下さい。
今は以下の2通りの方法ででやっています。
@互いの公開プロパティ(public get / private set)を参照しあう。
(互いに相手フォームへの参照を通じて取得するので疎結合になり切れていない)
Aデータ保持用クラスを作って、そのインスタンスを参照する。
(データ保持用クラスが増えまくって、だんだん管理困難になりそう)
今は以下の2通りの方法ででやっています。
@互いの公開プロパティ(public get / private set)を参照しあう。
(互いに相手フォームへの参照を通じて取得するので疎結合になり切れていない)
Aデータ保持用クラスを作って、そのインスタンスを参照する。
(データ保持用クラスが増えまくって、だんだん管理困難になりそう)
147デフォルトの名無しさん (ワッチョイ 23da-CXe6)
2019/10/17(木) 12:12:42.76ID:lbhPCdA40 MQで結合
148デフォルトの名無しさん (ワッチョイ d201-4js2)
2019/10/17(木) 12:32:44.65ID:tq7j3RVK0 MVCのM
149デフォルトの名無しさん (ワッチョイ 9242-S3Tg)
2019/10/17(木) 12:38:06.93ID:p0JdpBwB0 WpfやUWPなどではDIコンテナってものを使うのが流行りだが、WindowsFormsでも存在するそうだ
こっちは使ったことがないからお薦めはわからんがググって探してみるといい
まあクールってことならWindowsForms捨てるのも一つだね
こっちは使ったことがないからお薦めはわからんがググって探してみるといい
まあクールってことならWindowsForms捨てるのも一つだね
150デフォルトの名無しさん (ドコグロ MMea-tIsl)
2019/10/17(木) 13:00:04.85ID:gr44XWYWM >>146
DB
DB
151デフォルトの名無しさん (ドコグロ MMea-tIsl)
2019/10/17(木) 13:34:04.59ID:gr44XWYWM >>149
WPFやUWP自体がほぼ全くと言っていいほど使われていないのに流行りも何も
DIコンテナは主にWebで利用されるもので、デスクトップアプリではあまり使われないよ
アプリの起動を遅くする原因になりやすいし、エンドユーザーにバイナリを直接配布するタイプのアプリではそもそも実装を差し替えたいというニーズ自体が稀だからね
WPFやUWP自体がほぼ全くと言っていいほど使われていないのに流行りも何も
DIコンテナは主にWebで利用されるもので、デスクトップアプリではあまり使われないよ
アプリの起動を遅くする原因になりやすいし、エンドユーザーにバイナリを直接配布するタイプのアプリではそもそも実装を差し替えたいというニーズ自体が稀だからね
152デフォルトの名無しさん (ブーイモ MM5b-ggu7)
2019/10/17(木) 15:08:30.20ID:LDYcAoDdM DIコンテナはこの場合関係ないのでは?
結局素直にAでやるのがいいと思う
結局素直にAでやるのがいいと思う
153デフォルトの名無しさん (ワッチョイ e338-m7UD)
2019/10/17(木) 15:44:16.62ID:U3fOiqzQ0 >>146
クールな方法というか堅実・定石な方法
フォーム間のデータのやり取りならA
相手のフォームに依存するとテスト時や改修時に困るでしょ
原則として相手の画面やクラスの事は知らないに越したことは無い
その設計でもデータ保持用クラスの管理が大変になることは無い
管理が大変になる場合は設計がおかしい
画面遷移の組合せ数分クラス作るとかアホなことすれば大変だろうけど
クールな方法というか堅実・定石な方法
フォーム間のデータのやり取りならA
相手のフォームに依存するとテスト時や改修時に困るでしょ
原則として相手の画面やクラスの事は知らないに越したことは無い
その設計でもデータ保持用クラスの管理が大変になることは無い
管理が大変になる場合は設計がおかしい
画面遷移の組合せ数分クラス作るとかアホなことすれば大変だろうけど
154デフォルトの名無しさん (ワッチョイ 16a7-S3Tg)
2019/10/17(木) 17:38:31.11ID:xrf7PluH0 wpfのCheckBoxについてですが、Contentに文字を設定するとその文字の表示範囲もチェックオンオフの感知範囲になってしまいます
これを無効にして純粋にチェックボックスの□のみをクリック範囲にすることはできないのでしょうか?
CheckBoxのContentに文字を設定するのではなく、横にTextBlockを置くなどしないと無理でしょうか?
これを無効にして純粋にチェックボックスの□のみをクリック範囲にすることはできないのでしょうか?
CheckBoxのContentに文字を設定するのではなく、横にTextBlockを置くなどしないと無理でしょうか?
155デフォルトの名無しさん (ワッチョイ c67c-ptFq)
2019/10/17(木) 17:46:05.82ID:Cw+SiV+E0 うん
156デフォルトの名無しさん (ワッチョイ 5fda-S3Tg)
2019/10/17(木) 17:47:00.63ID:LBezDrpM0 >>154
手段としてはその通りだと思う。
しかし、あのちっさいチェックボックスに正確にマウスを当てないと反応しないってのは、
使い勝手からするとどうかと思う。誤クリックが多いというなら、そもそもの配置場所が悪い
手段としてはその通りだと思う。
しかし、あのちっさいチェックボックスに正確にマウスを当てないと反応しないってのは、
使い勝手からするとどうかと思う。誤クリックが多いというなら、そもそもの配置場所が悪い
157デフォルトの名無しさん (アウアウウー Sa43-ptFq)
2019/10/17(木) 17:49:21.17ID:f5CxH478a >>154
PreviewMouseDownイベントを追加して
e.OriginalSourceからVisualTreeHelper.GetParent()でVisualTreeを親方向にたどっていき
途中に"checkBoxBorder"というNameのBorderがあればe.Handled=true;で無効化出来るかもしれない
出来るかもしれないが一般的にCheckBoxはテキスト部分をクリックしてもオンオフ出来るものだから
その一般的な挙動を逸脱するよっぽどの理由がなければ止めておいたほうがいい
PreviewMouseDownイベントを追加して
e.OriginalSourceからVisualTreeHelper.GetParent()でVisualTreeを親方向にたどっていき
途中に"checkBoxBorder"というNameのBorderがあればe.Handled=true;で無効化出来るかもしれない
出来るかもしれないが一般的にCheckBoxはテキスト部分をクリックしてもオンオフ出来るものだから
その一般的な挙動を逸脱するよっぽどの理由がなければ止めておいたほうがいい
158デフォルトの名無しさん (ワッチョイ 16a7-S3Tg)
2019/10/17(木) 18:14:20.41ID:xrf7PluH0 >>156>157
ありがとうございます
具体的にはListBox内にCheckBoxを配置しており、チェックとは別にListBoxから選択時に多少のインフォメーションを表示するといった形にしたいためContentも含めると誤クリックが発生してしまいます
とりあえずは文字とCheckBoxは分離する方向でやってみたいと思います
ありがとうございます
具体的にはListBox内にCheckBoxを配置しており、チェックとは別にListBoxから選択時に多少のインフォメーションを表示するといった形にしたいためContentも含めると誤クリックが発生してしまいます
とりあえずは文字とCheckBoxは分離する方向でやってみたいと思います
159デフォルトの名無しさん (ワッチョイ f345-UkKt)
2019/10/17(木) 19:36:38.52ID:ukHDmGyB0 先日C#を始めたものです
Hello Worldを記述出来ました
エクセル等のオフィスソフトに対応している初心者向けのサイトは無いでしょうか?
よろしくお願いします
Hello Worldを記述出来ました
エクセル等のオフィスソフトに対応している初心者向けのサイトは無いでしょうか?
よろしくお願いします
160デフォルトの名無しさん (スプッッ Sd52-WW7A)
2019/10/17(木) 19:50:38.49ID:fD4z5OoEd C#てオフィスを使って処理したいってこと?
161デフォルトの名無しさん (ワッチョイ f345-UkKt)
2019/10/17(木) 20:50:59.23ID:ukHDmGyB0 C#を使ってエクセル等を操作したいと思っています
162デフォルトの名無しさん (ワッチョイ 9f7b-836U)
2019/10/17(木) 20:53:46.00ID:35zh2Zdy0 >>161
Microsoft Visual C# .NET から Microsoft Excel を自動化する方法
https://docs.microsoft.com/ja-jp/office/troubleshoot/office-developer/automate-excel-from-visual-c
こういう意図でC#を使う人は少ないと思うからそういうサイトもあまりないのでは
Microsoft Visual C# .NET から Microsoft Excel を自動化する方法
https://docs.microsoft.com/ja-jp/office/troubleshoot/office-developer/automate-excel-from-visual-c
こういう意図でC#を使う人は少ないと思うからそういうサイトもあまりないのでは
163デフォルトの名無しさん (ワッチョイ 4b63-kO6L)
2019/10/17(木) 20:54:08.32ID:U+7e/yzz0164デフォルトの名無しさん (ワッチョイ d201-4js2)
2019/10/17(木) 21:33:04.59ID:tq7j3RVK0165デフォルトの名無しさん (ワッチョイ 12ad-bx3M)
2019/10/17(木) 22:09:06.50ID:o4qw9kXC0166デフォルトの名無しさん (ワッチョイ e338-m7UD)
2019/10/17(木) 23:15:21.70ID:U3fOiqzQ0 Closed便利よね
バグ踏んだら面倒だけど
バグ踏んだら面倒だけど
167デフォルトの名無しさん (ワッチョイ 1ee9-1jLk)
2019/10/17(木) 23:18:37.31ID:fKr8aC1m0 プロパティで、StringをDateTimeのようにnull許容できるようにしたいのですが、可能でしょうか?
public DateTime? test1 { get; set; } ← 可
public String? test2 { get; set; } ← 不可
DapperでDB操作してるのですが、DBゆえにnullがあるのでどうしたものかと
public DateTime? test1 { get; set; } ← 可
public String? test2 { get; set; } ← 不可
DapperでDB操作してるのですが、DBゆえにnullがあるのでどうしたものかと
168デフォルトの名無しさん (アウアウイー Sa87-sprL)
2019/10/17(木) 23:30:47.28ID:+xa644SFa C#8.0の新しい文法を使う意図だったら「#nullable enable」のディレクティブをつけないとnull許容参照型にならないよ
そうでなければ、stringは参照型だから?をつけずとも普通にnull許容
そうでなければ、stringは参照型だから?をつけずとも普通にnull許容
169デフォルトの名無しさん (ワッチョイ f345-UkKt)
2019/10/18(金) 00:25:33.50ID:C4vTbpVj0170デフォルトの名無しさん (ワッチョイ f345-UkKt)
2019/10/18(金) 00:26:47.30ID:C4vTbpVj0171デフォルトの名無しさん (ワッチョイ 92ad-Do0t)
2019/10/18(金) 04:48:07.86ID:7fyCEFV70 >>162
帳票作成でC#使うなんてよくある話だろ
帳票作成でC#使うなんてよくある話だろ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【社会】40代以上のおじさん・おばさんは叩いてオッケーという風潮はなぜ加速したのか [七波羅探題★]
- 日本の場合、いつも凶悪な行動に移すのは極左なんだよね。右翼はほとんどなにもしない [201193242]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【朗報】外務省局長、中国側の要求を断固拒否。「高市さんの答弁は日本政府の立場を変えるものではないし、撤回しない」 [519511584]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 【実況】博衣こよりのえちえち歌枠🧪
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
