- 1 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 18:23:31 ]
- このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 >>980を踏んだ人は新スレを建てて下さい。 >>980が無理な場合、話し合って新スレを建てる人を決めて下さい。 前スレ ふらっとC#,C♯,C#(初心者用) Part45 (実質46) pc12.2ch.net/test/read.cgi/tech/1255658236/
- 281 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 15:08:37 ]
- >>270
ありがとうございます 一度キーワードがわかると情報がざくざくあつまってきますね SetWindowsHookExを読んでフックする方法の弱点として フックを登録できるのが1つだけのようです なので他のアプリが使ってたら不具合が出たりするようです サブクラス化というキーワードも出て来ましたが、これは フックするというより盗み見するだけですか? 情報が集まったので方針を決めたいと思います ありがとうございました
- 282 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 15:22:43 ]
- そんなことないです
グローバルフックもローカルフックもCallNextHookExってのを使ってチェーン状に管理しています サブクラス化はイベントの起動に利用するだけでメッセージ潰したりはできません
- 283 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 16:18:57 ]
- まあキーロックが目的なら握りつぶすわけで、どんな方法でも
他のキー入力当てにしてるプロシージャに影響出ないわけないなw
- 284 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 16:41:18 ]
- private ContextMenuStrip cms_tasktry = new ContextMenuStrip();
と自分で書いて関連付けた時に最初のクリックではメニューが表示されず 二回目以降にしか表示されるのですがこれを最初のクリックで表示する 方法はないでしょうか?。 また以下のように書いた場合にexitをクリックしてもタスクトレイのアイコンが 消えないのですが、これを消えるようにできないでしょうか?。 private NotifyIcon tasktry = new NotifyIcon(); cms_tasktry.Items.Add("Exit").Click += delegate(Object obj, EventArgs ea) { tasktry.Visible = false; Close(); };
- 285 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 16:55:53 ]
- tasktry.Dispose() 呼んだらどうかな。
- 286 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 17:00:44 ]
- って>>284のだけで1回のクリックでメニュー出るし終了時に消えたけど。
環境は?
- 287 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 17:13:22 ]
- Openingで書いているせいでしょうか?
private void Form1_Load(object sender, EventArgs e) { cms_tasktry.Opening += new System.ComponentModel.CancelEventHandler(cms_Opening); } private void cms_Opening(object sender, EventArgs e) { cms_tasktry.Items.Add("Exit").Click += delegate(Object obj, EventArgs ea) { tasktry.Visible = false; Close(); }; } >>285 だめでした >>286 XP Ver2010 SP3 VC2010 です。
- 288 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 17:50:25 ]
- Openingでやってる理由は?
Load時に一緒にやればいいじゃない。 アイコン消えない理由はそれとは違うようだが。
- 289 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 17:57:06 ]
- >>288
ログイン処理した時にメニューを書き換えているからですがnameでTextを 書き換えたり非表示にしたりする手もありますね。
- 290 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 18:05:13 ]
- まあ何回かやってみたけど、Openingイベント時にメニューが1つもないと出ないね。
その時に追加しても遅いみたい。
- 291 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 18:07:18 ]
- >>290
!するとLoad時にゴミを1つつけておけばいいのかな 試してきます
- 292 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 18:07:30 ]
- de?
- 293 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 19:50:07 ]
- System.Threading.Thread.Sleep(3000);
this.Storyboard1.Begin(); このコードは3秒待つまで2行目は実行されないですよね?
- 294 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 19:56:29 ]
- 試せば?
- 295 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 20:09:24 ]
- 普通、次の行の処理はしないと思うんですが、2行目の処理が3秒飛ぶんです。
あり得ますか?
- 296 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 20:15:24 ]
- 飛ぶなんて俺様用語で言われても
飛びます飛びますってかw
- 297 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 20:26:18 ]
- GUIのスレッドでSleepしちゃダメだよ
Storyboard使ってるんだったら3秒後にアニメーションをスタートするアニメーションを作れるだろ
- 298 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 20:30:18 ]
- 記事クラスと、記事のコレクションである掲示板クラスがあるとして、
記事の削除メソッドを実装するとしたら記事クラスと掲示板クラスの何方が適当でしょうか?
- 299 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 20:32:12 ]
- クラスってなんですか?
- 300 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 20:36:00 ]
- 掲示板クラスの方に実装するのが適当
- 301 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 20:36:00 ]
- >>297
GUIのスレッドではSleepは機能しないと覚えておけばいいんですか? この3秒にSleepではなく処理を入れたいんですが、 まさかGUIスレッドの中では同時に処理できる行はガンガン並行処理して次の行、次の行が実行されていくんでしょうか? めちゃくちゃなんですけど
- 302 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 20:41:43 ]
- GUIだとGUI自体の機能もSleepした後でその後の文が実行される
- 303 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 20:42:09 ]
- >>301
お前の頭がむちゃくちゃだよ
- 304 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 20:42:17 ]
- 違う。スリープさせるとGUIがフリーズするからやってはいけない。
this.Storyboard1.Begin();は絶対に3秒経過するまで実行されない。その間GUIはフリーズする。 基本的にSilverlightは(Silverlightのスレに書き込んでるだろ)GUIスレッドでのSleep禁止ということになってるから 何が起こっても文句は言えない。WPFやSilverlightのアニメーションは時間に依存するからややこしい。
- 305 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 20:47:00 ]
- WMPコンポーネントを使ってmp3プレイヤーを作っているのですが、
WMP9からWMP11にアップデートすると、 そのソフト自体の起動や処理が重くなったように感じます。 これは仕方無い事なんでしょうかね?
- 306 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 20:58:28 ]
- 自分でデコードしてDirectSoundで鳴らしたら
- 307 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 21:10:12 ]
- お前のプログラムがめちゃくちゃなんだろうよ
- 308 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 21:10:16 ]
- DirectSoundはプレイステータス変更時のようなイベントハンドラは提供されてますか?
それが無いと不便で不便で・・・
- 309 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 21:16:33 ]
- >>304
silverlight限定の仕様だったんですね FormGUIの基本なのかと思っちゃいました。 silverlightと書き込まなかったので一生解決できないところでした ありがとうございます!
- 310 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 21:19:55 ]
- >>308
いやDirectSoundって自分でバッファに波形データを直接書き込んでいくんだぞ 何でもできるが何もできない >>309 Silverlightに限らずGUIで時間のかかる処理をしてはいけない。 一応WPFやWinFormsではそれによってGUIがフリーズするのを回避する方法が用意されてるけど やらないに越したことはない。 Silverlightに限ってはそういう回避方法が無いので絶対ダメ。
- 311 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 21:19:55 ]
- めちゃくちゃとむちゃくちゃってなにか違うの?
- 312 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 21:27:16 ]
- >>310
ありがとうございます。 DirectSoundで調べてみたいと思いますが、なんだか難しそうですね。。
- 313 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 21:43:18 ]
- 滅茶苦茶
無茶苦茶 滅無
- 314 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 00:09:25 ]
- C#でメッセンジャーみたいな物を制作しようと思い、
サーバーの部分だけ作ってみてビルドして、実行するとフリーズしてしまうんですが、 原因が分かりません。教えていただけないでしょうか?初心者ですいません。 public void ServerStart() { System.Text.Encoding enc = System.Text.Encoding.UTF8; int port = 9991; TcpListener listener =new TcpListener(IPAddress.Parse("127.0.01"), port); listener.Start(); TcpClient tcp = listener.AcceptTcpClient(); NetworkStream nss = tcp.GetStream(); MemoryStream mss = new MemoryStream(); byte[] resBytes = new byte[256]; int resSize; do { resSize = nss.Read(resBytes, 0, resBytes.Length); if (resSize == 0) { textBox2.Text = ("クライアントが切断しました"); //Console.ReadLine(); return; } mss.Write(resBytes, 0, resSize); } while (nss.DataAvailable); string resMsg = enc.GetString(mss.ToArray()); textBox2.Text = resMsg; mss.Close(); }
- 315 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 00:27:45 ]
- TcpListener.AcceptTcpClientメソッド
AcceptTcpClient は、データの送受信に使用できる TcpClient を返すブロッキング メソッドです。ブロックしないようにする場合は、Pending メソッドを使用して、接続要求が受信接続キュー内で使用可能かどうかを確認します。 ではないのか?
- 316 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 00:47:28 ]
- >>315
解決できるかどうか分かりませんが、Pending メソッドについて調べてきます。
- 317 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 02:15:12 ]
- たとえPendingで確認しても、GUIスレッドで処理してたらクライアントが切断するまで止まるじゃん
- 318 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 09:40:49 ]
- 非同期処理にしろよ・・・・
- 319 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 09:43:53 ]
- クライアントからの切断は取れたり取れなかったりするからね
- 320 名前:315 mailto:sage [2009/11/10(火) 15:30:23 ]
- >>317
>>318 >>319 コメントありがとうございます。 非同期通信についても調べてみます
- 321 名前:314 mailto:sage [2009/11/10(火) 15:31:37 ]
- ↑314でした。すいません><
- 322 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 15:48:23 ]
- 非同期通信と通信での非同期処理は別の話だからなw
- 323 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 18:05:30 ]
- 流石に一緒にする奴はいないと思うぞwwww
- 324 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 18:08:54 ]
- >>284 は kb135788 かな
- 325 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 18:09:09 ]
- ここにいるぞ
- 326 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 20:32:36 ]
- BackgroundWorker_DoWorkでList<>.Sortを実行中にキャンセルボタンをおされたらを処理を中止したいんですが
何かいい方法ないですか? 自分でループしてる処理ならBackgroundWorker.CancellationPendingをチェックして終了すれば いいけど、List<>.Sort の実行中は何もできないんで。 次の様な処理書いてます。 private void backgroundWorker1_DoWork( object sender, DoWorkEventArgs e ) { BackgroundWorker worker = sender as BackgroundWorker; List<string> list = new List<string>(); Random random = new Random(); for( int i = 0; i < 1000000; i++ ) { if( worker.CancellationPending ) { e.Cancel = true; return; } list.Add( string.Format( "{0}";, random.Next( 1, 1000000 ) ) ); } list.Sort( delegate( string s1, string s2 ) { return int.Parse( s1 ).CompareTo( int.Parse( s2 ) ); } ); e.Result = list; }
- 327 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 20:46:48 ]
- デリゲートとか何の役にたつんだよぽ
- 328 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 20:57:43 ]
- なきゃないで問題ない
- 329 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 21:21:54 ]
- デリゲートなかったらメソッド持ってるクラス渡すか継承して実装するかの二択になるからなぁ。
- 330 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 21:35:48 ]
- >>346
yield
- 331 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 21:38:01 ]
- おっ、書けた。
>>326 yield を使って止められるようにすればいい。 貼ったソースはWorker操作のためのサンプルだと理解しているが、 もし本気コードならいちいちintに変換しながら比較するなんて馬鹿なことはやめたほうがいいぞ。 一括でソート済みsetに放り込んで再び取り出したほうがよほど速い。
- 332 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 21:42:18 ]
- yieldでどうやってlist.Sortを止めるんだよ
無理矢理止めるならlist.Sortに渡すコールバック内で例外投げるくらいしかないと思う
- 333 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 21:54:47 ]
- 現在アクティブなコントロールが、どの型か調べて
型に応じて動作を行うというものを作っております たとえば、WebBrowserならMessageBox.Show("WebBrowser","種類"); みたいな感じで アクティブなコントロールをthis.ActiveControlで取得まではできるのですが その取得したコントロールの型同士を比較するにはどうすればいいでしょうか
- 334 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 22:00:45 ]
- あるオブジェクトが特定の型かどうかを調べるにはisを使う
あるオブジェクトの型名などを取得するにはGetType
- 335 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 22:03:50 ]
- >>334
if(this.ActiveControl is WebBrowser) で比較できましたありがとうございました
- 336 名前:デフォルトの名無しさん [2009/11/10(火) 22:05:32 ]
- ボタンをショートカットに対応させたいんだけど
ボタンをクリックしたことにするにはどうすればいいでしょーか
- 337 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 22:05:49 ]
- あらま
さげわすれごめんなさい
- 338 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 22:18:56 ]
- そんなことしなくてもボタンのTextの最後に&Xを付けるだけ(Xは任意のショートカットキー)
- 339 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 22:23:24 ]
- フォームかコントロールでキーイベント拾ったら?
- 340 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 22:24:53 ]
- あーあー、あったな、そんな機能。
- 341 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 23:45:23 ]
- WebBrowserで送信する内容を取得したりすることってできますか?
主にヘッダーのことですが
- 342 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 23:53:45 ]
- WinPcap
- 343 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 00:00:42 ]
- >>342
すいません、WebBrowserコントロールの話ですorz マイクロソフトのWebBrowserは便利ではあるのですがなかなか使いづらい・・・ 使用制限の無い便利なブラウザコントロールないかなあ・・・・
- 344 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 01:17:34 ]
- 関係ないが >>343 ってVIPのスレにも来てなかったか?
- 345 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 01:19:43 ]
- IEだろうとWebBrowserだろうと普通にネットワーク経由するなら取得できるじゃん
- 346 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 01:21:35 ]
- >>344
ここで答えもらえなかったから行ったんじゃないの? ほんと関係ないな
- 347 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 23:45:59 ]
- System.Xml.Linq.XElement.Load メソッドで発生する全例外について知る方法はありますか?
MSDNに例外情報は記載されていなかったのですが、System.IO.FileNotFoundExceptionが発生しました。 System.IO.IOExceptionを継承した例外やArgumentNullException等が起きると予想できますが、 他にも発生しますか?
- 348 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 23:58:59 ]
- XLINQでは,読み込みは基本的にXmlReaderに準じる
ArgumentExceptionやInvalidOperationの派生型が発生する場合は 使い方に問題があるということだから原則キャッチ禁止
- 349 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 00:05:31 ]
- >>347
目的でアドバイスが変わる 現段階のという条件をつければ解析して 可能かもしれないという話は別にして
- 350 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 00:16:01 ]
- ドキュメントに書いてないということは仕様として決まってないということなので
解析してキャッチしたりするのはあんまり良くないな XElement.Load(string)はファクトリーメソッドということになってるXmlReader.Createに依存してるので 実際何やるかわからないんだよね 不安なら他のオーバーロード使ったほうが確実
- 351 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 00:52:22 ]
- >>348-350
ありがとうございます 例外のStackTraceを見ると、 場所 System.Xml.XmlReader.Create(String inputUri, XmlReaderSettings settings) 場所 System.Xml.Linq.XElement.Load(String uri, LoadOptions options) 場所 System.Xml.Linq.XElement.Load(String uri) となっていましたが、Createメソッドの説明に無い DirectoryNotFoundException が発生しました XmlReader.Create を直接呼び出しても DirectoryNotFoundException が発生しました 説明にあるFileNotFoundException と DirectoryNotFoundException には直接の継承関係は無いはずなのに 該当箇所は、何らかのエラーが発生したら、メッセージボックスを表示して強制終了する積りです。
- 352 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 01:19:56 ]
- Windowsのアプリケーションを作るのは
Windows APIと.NETの二種類があるの? Windows APIって.NETより難しいんでしょ?
- 353 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 01:28:43 ]
- やる気が無い奴は消えろ
- 354 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 02:08:30 ]
- C#で設計を学びたいのですが、何から手を付けたらいいんでしょう?
自分で考えたモデリングが正しい(あるいは悪くない)ことを客観的に測る指標などは存在するのでしょうか? クラスを書くたびに間違ったことしてるんじゃないかと不安になります。
- 355 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 02:13:21 ]
- 間違ってるということは間違ったときに気付けば良いじゃないか
- 356 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 02:23:02 ]
- こればかりは経験も必要だしな
- 357 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 02:24:09 ]
- >>355
それだと動けばいいじゃん、になっちゃいません? 動くけど設計上よろしくない(拡張性/保守性がないとか)ってのをどうやって自分で認識したらいいんでしょう?
- 358 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 02:28:06 ]
- C#でコンデンサー作った。電気がたまります
- 359 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 02:31:00 ]
- たしかに「もっと優れたやり方があるのでは」って不安はあるわな
- 360 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 02:37:41 ]
- 多少のプログラム経験年数はあるが、完璧に満足したソースは無い
それが成長というものじゃないのかね
- 361 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 02:41:00 ]
- ここらへんなんか読んでみたら?
labo.mamezou.com/special/sp_008/sp_008_001.html
- 362 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 02:42:22 ]
- ここでそういう高尚なこと聞くのが間違いだろJK
- 363 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 02:44:30 ]
- >>360
その"満足出来なかった"っていうのは何をどう評価して満足出来なかったんでしょうか? そこらへんが肝な気がする。
- 364 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 02:45:40 ]
- >>357
>それだと動けばいいじゃん、になっちゃいません? ならないよ 間違ってるのに間違ったことに気付いていない場合や 判ってて直そうとしない場合はその限りではないが 自分で問題意識を持ち続けて常に改良を続けるのが 本来のオブジェクト指向的リファクタリングの発想
- 365 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 02:53:54 ]
- 莫大な金と人と時間をかけたOSですら日々アップデートなどしてるのに
完璧なソースだと?
- 366 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 03:08:51 ]
- _ □□ _ ___、、、
//_ [][]// ,,-―''':::::::::::::::ヽヾヽ':::::/、 誰 作 こ // \\ // /::::::::::::::::::::::::::::::i l | l i:::::::ミ だ っ の  ̄  ̄  ̄/ /:::::::::,,,-‐,/i/`''' ̄ ̄ ̄ `i::;| あ た ソ ―`―--^--、__ /:::::::::=ソ / ヽ、 / ,,|/ っ の | /f ),fヽ,-、 ノ | 三 i <ニ`-, ノ /、-ニニ' 」') !! は ス i'/ /^~i f-iノ |三 彡 t ̄ 。` ソ ハ_゙'、 ̄。,フ | ) を ,,, l'ノ j ノ::i⌒ヽ;;|  ̄ ̄ / _ヽ、 ̄ ゙i ) ` '' - / ノ::| ヽミ `_,(_ i\_ `i ヽ、 ∧ ∧ ∧ ∧ /// |:::| ( ミ / __ニ'__`i | Y Y Y Y Y ,-" ,|:::ヽ ミ /-───―-`l | // | | // l::::::::l\ ||||||||||||||||||||||/ | // | / ____.|:::::::| 、 `ー-―――┴ / __,,..-'| /゙ー、,-―'''XXXX `''l::,/| ー- 、__ ̄_,,-"、_,-''XXXXX | /XX/ XXXXXXXXXX| | _, /ノXXXXXXXXXX|
- 367 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 03:50:51 ]
- >>363 経験的な先読み予想があって、「嗚呼本当はこういう構成にしたいんだけど
後で使わないかもしれないからオーバースペックにする必要も無いか」だとか 「今の構成だとこうした方が早道だ」とか 「正規化よりもリアリティ」だとか 色々あって理想通りにはいかない事なんてあるある探検隊 学校のテスト勉強と違って正解なんて相対的なものだ 何かに気づいて知ることで考え方やアプローチが広がるから、 経験無い内に全てを網羅した答えなんて得られないと言わざるを得ない ‥って言ってもあきらめろって意味じゃないのはわかるよな
- 368 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 04:49:40 ]
- 10年くらいかかりますか?
- 369 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 05:08:13 ]
- それを知っているのは自分だけ
- 370 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 07:48:48 ]
- 自作のコントロールをデザイナで表示できるようにするにはどうすればいいですか?
タブコントロールを継承した、TabDXを作ったのですが デザイナから直接これを使うことはできますか? 現状方法が分からず、一度普通のTabを配置して、TabDXにすべて置換するという作業を行っていますが なんかとても頭悪いことをしているような気がしまして
- 371 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 07:53:07 ]
- DesignTimeVisible でぐぐれ
- 372 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 08:01:17 ]
- >>371
うああああああああああああああああああああああああああああああああああああ 今までコツコツ作ってきた200個近くのコントロールが全て表示されました これで置換作業とはおさらばです!ありがとうございました!
- 373 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 08:03:03 ]
- あ、あまりにもうれしすぎて忘れてた
クラス内に public abstract bool DesignTimeVisible() { return true; } を追加 それだけでした
- 374 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 08:15:59 ]
- なんか関係無い俺でもうれしくなっちゃったw
- 375 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 08:18:44 ]
- ちゃんと設計の勉強したらC#で彼女が出来ました
- 376 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 08:29:10 ]
- >間違ってるのに間違ったことに気付いていない場合
これどうやったら間違いに気付くんだ? >自分で問題意識を持ち続けて常に改良を続ける その問題意識ってのが間違ってたらどうするんだ? 例えばドメインモデル貧血症なんかはどう考える? 全然問題無いじゃん!って言ってる人もいるけどそういう人達は間違ってるの? それともそんな単語作りだした側が間違ってる?
- 377 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 08:34:46 ]
- デザパタの本でも読むのがいいんじゃないかなー
GoFのじゃなく設計のパターンの方 仕事で設計してるならいいけど個人で作ってる場合は 本だのネットだの勉強会だのに頼るしかないね ダメ出ししてくれる場が無いからつらいのう
- 378 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 08:54:04 ]
- オープンソースのプロジェクトでも参加すればー
- 379 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 09:01:12 ]
- 方法はどうあれ適当な単位での切りわけさえできてれば破綻しない
個々が少々ダメでも他に影響しない限り問題ない
- 380 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 09:11:22 ]
- ぶっちゃけ仕事じゃなく個人でやってるなら正しい設計なんて出来なくても問題ない。
外から見て問題のある動作するとかならともかく。 そんなことより楽しくて役に立つプログラムを素早く作れた方が評価されるよ。
- 381 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 09:24:21 ]
- あるクラスを継承してさらにインターフェイスを実装ってできるんだっけ?
public class AAA: System.Windows.Forms : IHogeHoge みたく
|

|