- 1 名前:デフォルトの名無しさん mailto:sage [2009/06/16(火) 20:11:11 ]
- (#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。
前スレ C#, C♯, C#相談室 Part52 pc12.2ch.net/test/read.cgi/tech/1238548552/ Visual C# 2008 Express Edition 日本語版 www.microsoft.com/japan/msdn/vstudio/express/vcsharp/ その他テンプレ>>2-5くらい
- 237 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 16:30:51 ]
- >>235
>>229のリンク先は読んだの?読んだら、どこが分からなかったの?
- 238 名前:デフォルトの名無しさん [2009/07/12(日) 16:45:01 ]
- 言語非依存WinFormsスレなんかあってもまず機能しないだろうな
WPFは現状VBerがほとんどいないからこそ専用スレが成り立つ
- 239 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 16:50:33 ]
- >>238
実際、以前.NETスレがあったが、過疎だった。 みんなC#とかVB.NETのスレへ流れるもんだから。
- 240 名前:デフォルトの名無しさん [2009/07/12(日) 17:01:34 ]
- WPFにはXAMLという共通言語があるし
言語とライブラリを混同するようなレベルの初心者ユーザも少ないからな
- 241 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 17:17:18 ]
- >>212
aboutっていわゆるバージョン情報のフォーム? だとすると、面倒なことをせずにShow()ではなくShowDialog()で一つ表示する方法が普通だと思うけど
- 242 名前:デフォルトの名無しさん [2009/07/12(日) 17:29:10 ]
- >>237
あの…恥ずかしながら、 ユーザーコントロールを追加しましたが、 テキストボックスのパディングをどこで設定するのか… またはテキストボックスの垂直の位置をどこで中央にするのか… (水平の中央はありますが) が分からないんです。
- 243 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 17:29:31 ]
- >>239
俺もそのスレ見てたわ。 次スレどうしようか悩んだけど、過疎ってたのでやめといたら結局誰も立てなかった・・。
- 244 名前:デフォルトの名無しさん [2009/07/12(日) 17:33:08 ]
- Gridの中にテキストボックスを入れるんだよ
- 245 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 17:34:11 ]
- テキストボックスじゃなくていいならラベルで出来る
- 246 名前:デフォルトの名無しさん [2009/07/12(日) 17:37:31 ]
- 関係ないけど、WPFではLabelは特殊なコントロールで、普通の文字描画には使わないんだよ
TextBlockというのを使う
- 247 名前:デフォルトの名無しさん [2009/07/12(日) 17:41:23 ]
- グリッドってなんだろ…
(T_T)? ところで、テキストボックスのパディング設定は果たしてできるのかな。
- 248 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 17:46:47 ]
- Paddingの追加って、こんな感じに入力するだけでしょ。
<TextBlock …… Padding="10">……</TextBlock>
- 249 名前:デフォルトの名無しさん [2009/07/12(日) 17:49:58 ]
- Paddingプロパティがあるだろ?
パディングはそのコントロールの親(GridやBorderなど)を基準にして行われる WPFはとにかくコンテナ(WinFormsでいうPanelみたいなもの)をネストしまくるんだ
- 250 名前:デフォルトの名無しさん [2009/07/12(日) 18:19:59 ]
- >>249
それは、Windowsアプリケーションでも可能なの?
- 251 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 18:22:24 ]
- >>217
- 252 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 18:24:16 ]
- 何この馬鹿は。
やってから言えよカス。
- 253 名前:デフォルトの名無しさん [2009/07/12(日) 18:26:27 ]
- Windowsアプリケーションには
textblockとかgridってあるのかな。
- 254 名前:デフォルトの名無しさん [2009/07/12(日) 18:30:15 ]
- WinFormsなら無い
ユーザーコントロールに枠線消したTextBoxを張る みたいな汚い方法しかない
- 255 名前:デフォルトの名無しさん [2009/07/12(日) 19:02:18 ]
- ビジュアル重視ならば、
WPFで作った方がよかったんじゃないかな。 俺もよく知らないけど。
- 256 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 00:13:27 ]
- 見た目こそWPFの領分だね
- 257 名前:デフォルトの名無しさん [2009/07/13(月) 00:55:49 ]
- しまったな…
俺もWPFで作れば良かった。 できることはWindowsアプリケーションと変わらないし。
- 258 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 01:37:11 ]
- 何だか勘違いしてるようだけど、WPFで作ってもWindowsアプリケーションだよ。
場合によってはMFCとか.NETじゃないやつまで含んじゃう言葉だから、誤解を避けるためにWinFormsって書く方がいい。 WinFormsで見た目をちょっと改善しようと思ったら、自前で描画するとか泥臭い手段しか無かったというのはよくある話。 WPFでは馬鹿みたいに(褒め言葉)柔軟で何でも出来るけど、設計思想がWinFormsやMFCとは別物の新しいやつだから、最初は戸惑うと思う。
- 259 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 07:29:50 ]
- そして起動が遅いと言われるわけですな
- 260 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 09:54:35 ]
- Formでやるなら>>224でいいじゃない
- 261 名前:デフォルトの名無しさん [2009/07/13(月) 11:19:26 ]
- ListViewでItemをひとつひとつ.Selected=Trueする方法で選択していくと、
Items.Count が非常に多い場合にはあまりに時間がかかりすぎることが わかりました。 Items.Count=10000ぐらいで2分ぐらい(Core2Duo/2GHz)。 ところが例えばExplorerでファイルを同じくらい用意してやってみると瞬時に 全部が選択されました(3秒ぐらい)。これと同じ程度のスピードで選択 したいと思います。良い方法がありましたらご指導のほどお願いしたく。 よろしくお願いします。
- 262 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 11:49:28 ]
- 試したけど3秒くらいだったよ。
イベントハンドラがあったりする? あと描画関係なら、BeginUpdate - EndUpdateで挟むとか
- 263 名前:デフォルトの名無しさん [2009/07/13(月) 11:59:23 ]
- >>262
実地に調べてまでして下さり、大変ありがとうございます! いろいろすみませんです。 >BeginUpdate - EndUpdateで挟む これたった今やってみました。結果として時間の変化はありませんでした。 >イベントハンドラがあったりする? わかりました、すぐ調べてみます。どうもです!
- 264 名前:261 [2009/07/13(月) 12:15:11 ]
- >>262
>イベントハンドラ この件、仰るとおりでした。Selectされた時点で、何かのメッセージの Hookが行われているようでした!これは別のコントロールのものでしたが 対策を考えてみます。ご指導、大変どうもでした!助かりました!
- 265 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 19:26:25 ]
- インデックスで回してない?
foreachにすれば大丈夫だと思うけど。
- 266 名前:デフォルトの名無しさん [2009/07/13(月) 23:23:23 ]
- VirtualModeにしてみたら?
- 267 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 09:41:49 ]
- 良く使うジェネリックコレクションは何?
とりあえずList<T>とDictionary<T>覚えておけばいい?
- 268 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 09:42:31 ]
- Dictionary<K,V>だった。
- 269 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 09:52:07 ]
- K,VじゃなくてTKey,TValueな
型パラメータの命名ガイドラインは接頭辞Tプラスその型引数の意味 (ただし用途が明らかな場合List<T>とかはT一字でOK) 2.0ならあとはLinkedList<T>, KeyedCollection<TKey, TItem>辺り? あ、Queue<T>とStack<T>があった 3.0(WPF)ならObservableCollection<T> 3.5はHashSet<T>とか? コレクションじゃないけどやはり最重要はIEnumerable<T>だな
- 270 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 10:24:18 ]
- >>269
ふむふむ。 IEnumerable<T>はLINQで出て来るなあ。 ObservableCollection<T>はWPF本で出てきたけど まだいいや。 List<T> LinkedList<T> KeyedCollection<TKey, TItem> Dictionary<TKey, TValue> IEnumerable<T> とりあえずこのあたりからマスターする。
- 271 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 10:29:51 ]
- あ、KeyedCollectionは後で良いよ
つか全体にマスターするほどでもないような IEnumerable<T>以外は
- 272 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 13:37:18 ]
- T[] も忘れないで上げてください、影薄いですけど
- 273 名前:デフォルトの名無しさん [2009/07/14(火) 21:15:32 ]
- >>269
.NETの型引数の命名規則は合理的で優れてるよな java式のK,Vとかイミフ
- 274 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 21:33:54 ]
- Tとかそういう意味だったのかw
ほかの引数にSとかUとかつけてたわw
- 275 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 21:43:12 ]
- c++テンプレートのTypenameだよね
- 276 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 21:44:53 ]
- >>274
SとかUってどういう意味よ?w
- 277 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 21:45:31 ]
- SとかUつける人いるんだw
- 278 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 21:46:57 ]
- アルティメットファイナルクソワロチw
ま、俺はVをつけてたけど。
- 279 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 21:56:52 ]
- >276,277
いや、Tの前とか次の文字とかw HogeHoge<S,T,U>ってかんじ。
- 280 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 22:08:04 ]
- 型引数を真面目に変数っぽく名前考えてるのって
C#くらいだよね javaもc++もそんな習慣無い
- 281 名前:デフォルトの名無しさん [2009/07/14(火) 22:23:47 ]
- C++には型引数に普通の名前付ける文化もある(STLなど)
わかりやすいけど普通の型名と見分けがつかないので、 .NETの(プリフィクス)+(意味)はその落としどころ
- 282 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 22:30:04 ]
- >>281
今VC9見たら真面目に命名してるな VC6とか_Aとか_Cとかだったんだが
- 283 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 23:45:07 ]
- >>280
.NET も初めからそうだったわけではなく、型引数のこの命名は ベータかどっかでやっぱりこうしようみたいに一気に変えたんだよ 確か。Connect とかの Suggestion も絡んでた気がする 出来上がりとか見てみんな思うところがあったんじゃないかな
- 284 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 23:52:12 ]
- >>283
.NET 2.0ベータ中は一文字だった、ように記憶してる リリースされた正式版のドキュメント見て初めは違和感あった
- 285 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 23:57:32 ]
- 制約がわかりやすいのはいいよね
TEventArgs : EventArgs なんか神
- 286 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 00:09:02 ]
- >>284
ああごめん。 >出来上がりとか見て はベータのです。 なんか変わると発表したときにフィードバックの存在を 書いていた記憶があるから。
- 287 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 00:17:22 ]
- おまいらC#でオープンソースとか使ってる?
Log4netはつかってるがほかゴリゴリ書いてるので時間かかるお(´・ω・`) csharp-source.net/search?query=graph+layout
- 288 名前:デフォルトの名無しさん [2009/07/15(水) 03:22:30 ]
- SerialPortクラスについて質問
DataReceivedイベント使えばVC++の時みたいに自分でスレッド組まなくて済みそうで楽出来そうなんだけど 実際に受けてみると欠ける時がある STXhoge123ETX ↑見たいなデータが改行無しで垂れ流しで延々と来るんだけど たまに STXhoge123ETX STXhoge124ETX STXhoge125ETX STXhoge126ETX STXhoge127ETX STXhoge128ETX STXhoge129 ←ETXが受けれて無かったり STXhoge134ETX←間の130-133までが無かったり・・・ private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) { string recvData = serialPort1.ReadExisting(); Console.WriteLine(recvData); } こんな感じで直接出力しても途切れる・・・ 何故なんでしょうか?誰か詳しい人教えて
- 289 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 03:22:38 ]
- すいません。質問ですが、
new RelayCommand(param => this.OnRequestClose()); この=>はどういう意味があるのでしょうか?
- 290 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 03:34:36 ]
- ラムダ式
ufcpp.net/study/csharp/sp3_lambda.html
- 291 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 05:26:44 ]
- >>288
フロー制御はうまく言ってる?
- 292 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 06:30:27 ]
- >>290
おお、ラムダ式。 どうもありがとうございました。
- 293 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 14:06:19 ]
- ジェネリクスのクラスの型パラメータを配列に制限したい
のですが、以下だと上手く行かないようです。 class Widget<T> where T : IEnumerable { public void Iterate(T arr) { foreach (object item in arr) { Console.WriteLine(item); } } } ・型パラメータTは、競合する制約IEnumerableおよびobjectを継承します ・foreachステートメントは、TがGetEnumeratorのパブリック定義を含んで いないため、型Tの変数に対して使用できません。 というエラーが出ます。どうかご教示願います。
- 294 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 14:13:11 ]
- 間違ってない
それだけならコンパイル通るし動く 他のところに問題がある
- 295 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 14:13:14 ]
- ジェネリックでdelegateを指定するにはどうすれば
いいでしょうか? やりたいことは public delegate_T func<delegate_T>( string str ) こんな感じなんですが。
- 296 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 14:25:37 ]
- コンパイル時にチェックするのは無理
Expression<TDelegate>みたいに、名前だけそれっぽくして実行時にチェックする
- 297 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 14:31:40 ]
- typedefがないので無名になるが
Func<string, int> func; funcがstringを受け取ってintを返す関数になる 戻り値がdelegateって言うなら Func<string, Action> func; とかです
- 298 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 14:44:14 ]
- >>294
レスありがとうございます。 using System.Collections; を宣言していませんでした。
- 299 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 15:04:49 ]
- >>296>>297
上で書いたような書式じゃ無理ということとですね。 Funcとか知らなかったので試してみます ありがとう
- 300 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 16:12:22 ]
- C#入門としてオススメな本があれば教えて下さい
- 301 名前:デフォルトの名無しさん [2009/07/15(水) 16:20:19 ]
- >>291
レスありがとう フロー制御に問題がある様には思えません 送信側と合わせてるので 疑似で STXhoge0ETX〜STXhoge5000ETX までのデータを作ってtxtファイルにして ハイパーターミナルからテキストファイルの送信で流してみたんですが 5000までデータはあるのにコンソール上には200行から300行くらいまでしか出てこない・・・ フロー制御もいろいろ設定変えて試したんですが変わらずです・・・
- 302 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 16:53:02 ]
- 症状はどう見てもバッファあふれだろう。
>フロー制御に問題がある様には思えません 経験的にいえば強く思い込んでるところが間違ってる可能性が高いな。 コントロールパネルで設定したとか言うなよ。 あとPC−PCでの接続だったらリバースケーブルになるけど、 結線に種類があってハード制御用のラインが自分のほうに戻ってきてるのもあるから要注意。
- 303 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 17:36:23 ]
- threshold設定してるだけ?
アレってあんまり信用ならなかったとおもう
- 304 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 17:37:26 ]
- 概算じゃなくてデータのサイズきっちり計算してバッファと比べたりしようぜ
- 305 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 19:30:24 ]
- すいません。質問です。
C#や.NETの資格で、MS社以外のものはありますか? また、MCPですが、 70-505 TS: Microsoft .NET Framework 3.5, Windows Forms Application Development などの「開発経験が 1 年以上」は、大学の研究室での開発や趣味プログラミングでも大丈夫でしょうか?
- 306 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 21:48:39 ]
- Console.WriteLine(new Uri("example.com/sample../foobar.txt"));
この出力が "example.com/sample/foobar.txt" になるんですが、これってバグですか?
- 307 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 21:52:30 ]
- いいえ
- 308 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 22:03:26 ]
- sample/../foobar.txt
/ を足して味噌
- 309 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 22:07:41 ]
- >>308
いや、それはわかるけど、俺が聞きたいのはそれじゃない。 ".." が消えているのはなぜかと、どうすれば回避できるのか、だ (´・ω・`)
- 310 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 22:22:46 ]
- OriginalStringプロパティ
- 311 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 22:27:16 ]
- URIの仕様としては>>306の動作は正しいのかい?
- 312 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 22:42:31 ]
- RFC2396
Similarly, parsers must avoid treating "." and ".." as special when they are not complete components of a relative path. これ?
- 313 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 22:45:45 ]
- sample.. の .. を特別扱いしちゃいけないから
>>306の動作は仕様を満たしてないってことかな
- 314 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 22:49:36 ]
- >>310
Console.WriteLine(new Uri(new Uri("example.com/"), "sample../foobar.txt").OriginalString); ごめん。こういうのを書いて、ちょっと (´・ω・`) とした。 RFC か何かで規定されているなら、まあ無視しちゃって良いかなって気にはなるんだけど、 まだ読みきってないス (´・ω・)
- 315 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 23:25:59 ]
- 全然関係ない。
趣味でも十分な奴もいれば仕事でも無理な奴もいる。
- 316 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 23:27:39 ]
- ふらっとの誤爆か?
- 317 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 19:30:14 ]
- Path.DirectorySeparatorCharとPath.AltDirectorySeparatorCharを
くっつけたものを出来ればconstで定数にしたいんですが どう書けばよいでしょうか? もしくはC++の関数内で static string str = "123"; みたいなことは出来ないでしょうか? 別な方法はありますが、これが出来るとすっきりしそうなのです。
- 318 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 19:40:42 ]
- readonlyじゃ駄目なの?
- 319 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 19:57:42 ]
- >>318
なるほど。うまくいきました。 readonly static string str = string.Format( "{0}{1}", Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar ); ちなみに >もしくはC++の関数内で >static string str = "123"; >みたいなことは出来ないでしょうか? これって出来ますか?
- 320 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 20:01:25 ]
- できない
- 321 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 20:04:56 ]
- そうですか・・。
了解しました。
- 322 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 21:15:10 ]
- >>319
C++で関数内のstatic string str = "123";は可能では? まあスレ違いになるからC++スレで聞け。
- 323 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 00:36:11 ]
- internal修飾子の使いどころがイマイチわからん
- 324 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 00:40:57 ]
- ライブラリ作成をしてみると分かるんじゃないか
- 325 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 00:41:24 ]
- プログラムをDLLで分割しまくって
アクセス制限考え出すとわかる
- 326 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 02:26:16 ]
- TabIndexに-1を指定できるようにしてほしい
- 327 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 03:00:27 ]
- 何故?
- 328 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 03:09:19 ]
- 使用していないことを明確に表すため
- 329 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 03:16:08 ]
- 継承して、使用していないことを明確に表すため のプロパティを用意すればいいじゃん
- 330 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 03:31:49 ]
- いえ、相談ではなく提案です
TabIndexプロパティの仕様の話で、-1が使えた方がスマートだということ
- 331 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 03:35:20 ]
- でもそれだとデザイナで設定できなくなるし、
そもそもTabStopがあるからいらないと思う
- 332 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 03:38:55 ]
- どうでもいいオブジェクトのTabIndexの値がふらふらしてて気持ち悪い
収まりが悪い
- 333 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 07:04:28 ]
- そう良かったね。
- 334 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 08:19:21 ]
- 使ってないやつは-1とか
発想が前時代的
- 335 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 14:04:06 ]
- そうだな。
TabIndexはタブの移動順序を決めるためのプロパティだから、タブの有効/無効とは無関係だよな。 TabEnableてきなプロパティを作るべき。
- 336 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 14:27:34 ]
- ヌルあぶればいいじゃない
- 337 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 04:05:27 ]
- おまえらセンス無い
|

|