- 1 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 20:45:59 ]
- (#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。
前スレ C♯, C#相談室 Part34 pc8.2ch.net/test/read.cgi/tech/1157549657/ 過去スレは>>2-5あたり。 ※スレタイに「#」を入れても消えちゃうので新スレ立てる人は要注意だ。
- 331 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 20:38:10 ]
- ひろ君もたか君も
つまらないケンカはやめなよ!
- 332 名前:デフォルトの名無しさん [2007/10/30(火) 20:38:45 ]
- けい君ですが
- 333 名前:デフォルトの名無しさん [2007/10/30(火) 22:17:02 ]
- ちょっとお伺いしたいことが
www.katch.ne.jp/~h-inoue/tips/cs/0002.html ここに書いてるclassを呼び出す記述がわかりません。。 ちなみにFormにはテキストボックス(TextBox1)とボタン(button1)があり テキストボックスにURLを打ち込んで、ボタンを押すと、実行されるように したいのですが・・・ どなたかわかる方がおられましたらよろしくお願いします
- 334 名前:デフォルトの名無しさん [2007/10/30(火) 22:20:14 ]
- classは呼び出せませんよ
- 335 名前:デフォルトの名無しさん [2007/10/30(火) 22:22:55 ]
- >>334 では記述例を・・
- 336 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 22:23:42 ]
- まずなんか本買うなりして基礎からやった方がいいよ
というかやれ
- 337 名前:デフォルトの名無しさん [2007/10/30(火) 22:27:47 ]
- prismbox.sample.httpclient.Class2 i = new prismbox.sample.httpclient.Class2();
i.Class2(textBox1.Text, @"c:\test.gif"); ではi.Class2のところでエラーがorz
- 338 名前:デフォルトの名無しさん [2007/10/30(火) 22:34:46 ]
- >>337
メソッドなら呼び出せる Class2はメソッドじゃない
- 339 名前:デフォルトの名無しさん [2007/10/30(火) 22:43:29 ]
- すいません>>338 上記のリンクの場合のメソッドって何になるんでしょうか?
- 340 名前:デフォルトの名無しさん [2007/10/30(火) 22:45:13 ]
- >>339
Mainがメソッド でもこれはプログラム起動時にフレームワークから呼び出される為のもの
- 341 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 22:47:19 ]
- >>339
C#やっててコンストラクタも知らんのか。 それ自体は”コンストラクタ”でググればでるけど、そんな基礎的なこともわからずに無謀なコーディングをするより、 入門系のサイトやページを一度じっくり見た方がいい。 でないと、またすぐにつまずく。
- 342 名前:デフォルトの名無しさん [2007/10/30(火) 22:51:01 ]
- >>341 徹底的に基礎を固めてきますm(_ _)m
- 343 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 23:05:12 ]
- >>342
初めての言語はできるだけ入門本を一冊買った方がいいが、 初心者用のサイトならここがおすすめ @IT:連載 改訂版 C#入門 www.atmarkit.co.jp/fdotnet/csharp_abc2/index/index.html 本で索引を引くより早いから、俺も忘れたときに見にいってる。
- 344 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 23:24:37 ]
- argsをstringの配列にしながら、args.Length != 1ってのがよく分からない。
普通のstring変数にしてIsNullOreEmptyでチェックした方がいいんじゃないの?
- 345 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 23:32:05 ]
- >>344
日本語でおk
- 346 名前:デフォルトの名無しさん [2007/10/30(火) 23:42:27 ]
- >>344
よくないよ
- 347 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 13:23:21 ]
- TabControlで、Tab耳の並びを縦型Vertivcalにしたとき、耳の数
が多いと自動的に段々重ねになる仕様のようなのですが、これ を横型Horizontalの場合と同じように1列に並べる手段があると ありがたいのですが、できるとしたらどのような方法になるでしょうか?
- 348 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 18:23:29 ]
- >自動的に段々重ねになる仕様
え? んな仕様になってないでしょ。 デフォではタブが横幅に収まらない場合スピン(?)が右隅に付く
- 349 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 19:44:51 ]
- >>348
Tab耳を横並べHorizontalにした場合はその通りなんですが、 縦並べVerticalにした場合はデフォルトで段々重ねになる仕様のようでした。 Helpにもそうありました。これだと、たくさん耳があるとそれだけで場所を 取ってしまうため、一列にしたいのでした。 やっぱり仕様だから無理なのかなー・・・
- 350 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 19:48:04 ]
- 追記)
ちなみに、「段々重ね」というのは、MultilineプロパティをTrueにしたとき の並び状態のことでした。
- 351 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 20:57:34 ]
- 確かにAlignmentをLeftにするとMiutilineが勝手にTrueになるね
- 352 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 23:21:53 ]
- メソッドの引数としてデリゲートを使いたいのですが、
いちいちデリゲートの型を外部に宣言せずに書く方法はありませんか? public void Func(delegate void del() sendMethod) {〜} のようにかければ非常に楽なのですが。
- 353 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 23:24:23 ]
- これだからC厨は
- 354 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 00:01:07 ]
- いや、Cでも関数へのポインタ型は
きちんとした意味を持った名前にtypedefして使うものだろ。
- 355 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 01:05:46 ]
- >>352
System.Action
- 356 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 01:07:59 ]
- デリゲートや関数ポインタがスタティックだとわかってるんだろうね?
- 357 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 01:29:00 ]
- >>355
そのデリゲートが使えるということですか?この場合引数はないので使えないと思うのですが。 また、デリゲートの定義全般の話ですので、一つのデリゲートの型が一致しても抜本的な解決にはならないかと。 >>356 型の定義が静的だ、という意味でしたらわかっています。 その定義をどうにかして見やすく配置できないかと考えてる次第です。
- 358 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 01:41:26 ]
- void Func(Action sendMethod) { }
void SendMethod() { } Action sendMethod = new Action(SendMethod); Func(sendMethod); Action<T>
- 359 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 01:50:40 ]
- >>358
すいません、がんばって理解しようとするのですが眠くてどうにもならないようです。 また明日の朝見直して理解しようと思います。
- 360 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 06:06:10 ]
- 擬似コード過ぎて理解の必要がないというかw
- 361 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 10:27:19 ]
- メソッド内で、一度代入したら不変であることを保証しようと思って、
void func() {
- 362 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 10:29:12 ]
- すいません、失敗して書き込んでしまいました。
メソッド内で、一度代入したら不変であることを保証しようと思って、 void func() { readonly int i = OtherFunc(); 〜 } としようとしたのですが、readonly が使えるのはクラスのフィールドのみらしく、できませんでした。 これと同等の文法はありますか?
- 363 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 10:59:26 ]
- フィールドにすれば?
- 364 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 11:35:46 ]
- >>363あほなことゆうな。
出来てもいいと思うんだけど出来ないね。 言語仕様を出来るだけシンプルにしたかったんかな?
- 365 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 12:07:10 ]
- メソッド内でreadonlyを使わなければわからなくなるほど
変数宣言が多くて長いメソッドを書くなということでは
- 366 名前:デフォルトの名無しさん [2007/11/15(木) 00:24:37 ]
- C#をやってるたら、仕事に支障をきたし始めたので辞めます
皆さんも仕事でC++を使う人は辞めたほうが無難です。
- 367 名前:デフォルトの名無しさん [2007/11/15(木) 00:33:52 ]
- |
| ∩___∩ | | ノ _, ,_ ヽ (( | プラプラ / ● ● | (=) | ( _●_) ミ _ (⌒) J )) 彡、 |∪| ノ ⊂⌒ヽ / ヽノ ヽ /⌒つ \ ヽ / ヽ / \_,,ノ |、_ノ
- 368 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 00:37:32 ]
- 今時一本で食ってこうとしてる奴なんているんだ・・・可哀想に
- 369 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 01:07:38 ]
- >>366
きっとC++をただ使ってるだけだろうな
- 370 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 03:44:22 ]
- 英語をやってるたら、仕事に支障をきたし始めたので辞めます
皆さんも仕事で日本語を使う人は辞めたほうが無難です。
- 371 名前:デフォルトの名無しさん [2007/11/15(木) 04:08:37 ]
- 自分の能無しぶりを理由にしても説得力はないな
- 372 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 11:25:36 ]
- 言語は道具、道具を複数使ってるからと言って支障きたすとは思えないのだが?
- 373 名前:デフォルトの名無しさん [2007/11/15(木) 23:27:54 ]
- わからんではない
オブジェクト作りっぱなしなんてC++ではありえない そんな環境になれてしまうとC++が面倒に感じてしまう。 まぁ、C#は使いやすさと引き換えに速度を完全に捨てたらな・・・
- 374 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 23:41:29 ]
- 速度は捨ててないぞ
捨てたのはメモリだ
- 375 名前:デフォルトの名無しさん [2007/11/15(木) 23:50:26 ]
- >>374
ソクドモステテマスッテ
- 376 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 23:59:31 ]
- メモリを捨てて速度が保たれるなんてありえない。
- 377 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 23:59:31 ]
- 文法がC#のC++があったら最強なんじゃないかと思う。
- 378 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 00:00:42 ]
- >>376
それに初起動の速度もパフォーマンスだと考えると、メモリを食うならそれだけ起動が送れるからな。
- 379 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 00:04:58 ]
- >>377
ネイティブのC#ならアンマネージドC#で作れるだろう。 ただし、APIは自作になるけどな。
- 380 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 00:05:35 ]
- >>377
Delphi
- 381 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 00:12:14 ]
- 個々の性能を見るとC#はそう悪くない。
GCに関してはここによると ttp://densanshokunin.at.webry.info/200702/article_1.html > C++のstack > C#のFinalizeなし > > C++のheap = C#のDispose > C#のFinalize ということらしい。スタックさいこーで次点がファイナライザなしのGCだそうだ。 C#が遅く感じるのはメタ情報を抱えたままなのが大きいように思える。 必要以上にコードやリソースの破棄と再ロードやページアウトインを繰り返していてこれが足を引っ張ってる。 JITやngenしててもメタ情報を参照するために結局もとのアセンブリもロードされているのが確認できる。 おかげで別の部分がメモリから追い出されることになりやすい。
- 382 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 00:19:38 ]
- GCの話題にC++が出て来るなんて胡散臭すぎ
- 383 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 00:24:30 ]
- >>382
普通に一番使われてるからだろ。 それにGCの動きはシステムに激しく依存するから、言い出したらきりがない。
- 384 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 00:27:09 ]
- C#はマネージドコードなんだから、比較対照は同じマネージドコードのJavaだったら良いが
ネイティブのC++出されてもね。それにネイティブコードはあっさりとOS壊すプログラム開発が できる(例えやりたくなくても)という欠点があるから、今後は.NETもよりセキュリティ強化された サンドボックス上で実行しなくてはならないと結論がでて、ネイティブは生き残れなくなるんだよ。
- 385 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 00:33:13 ]
- トリを忘れてたが>>381は>>373を受けての書き込みだからね。
- 386 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 00:33:15 ]
- >>384
マジで言ってんのか?だったらなんでWin32APIを.NETでサポートしないんだよ。 アンマネージドがマネージドに置き換えられるんなら、全部の機能が.NETから使えないとおかしいだろうが。 だいたいユーザー管理もまともに出来ないWindowsでソフトウェアのセキュリティ云々言われてもなあ?
- 387 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 02:10:11 ]
- w
- 388 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 02:11:05 ]
- ∩___∩ |
| ノ\ ヽ | / ●゛ ● | | | ∪ ( _●_) ミ j 彡、 |∪| | J / ∩ノ ⊃ ヽ ( \ / _ノ | | .\ “ /__| | \ /___ /
- 389 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 02:43:35 ]
- >>386
きまってるだろうが、最初は置き換えるつもりだったけど厳しいから 方向転換したんだよ。
- 390 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 03:42:16 ]
- これはAA貼られても仕方ないなw技量が知れる
- 391 名前:デフォルトの名無しさん [2007/11/17(土) 01:20:47 ]
- string csvDir = @"C:\test\";
string csvFileName = "test.csv"; string conString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" csvの接続ロジック System.Data.OleDb.OleDbDataAdapter da = new System.Data.OleDb.OleDbDataAdapter(commText, con); DataTable dt = new DataTable(); da.Fill(dt); OleDbConnection OleConn = new OleDbConnection(); ACCESSの接続ロジック OleDA = new OleDbDataAdapter(expenditure, OleConn); OleDA.Fill(Ds); DDs = ddt;←ここがわからない OleDbCommandBuilder cb = new OleDbCommandBuilder(OleDA); cb.QuotePrefix ="["; cb.QuoteSuffix = "]"; OleDA.Update(Ds) ; CSVファイルをACCESSにインポートしたいのですが、CSVをテーブルに貼り付けた後は どのようにしてACCESSにインポートすればよいのでしょうか? 上記のプログラムは一応コンパイルできるのですが、ちゃんとデータが移ってなくて・・・ どなたかわかる方がおられましたら、修正をおねがいします
- 392 名前:デフォルトの名無しさん [2007/11/17(土) 01:21:37 ]
- すいませんDDs⇒Ds、ddt⇒dtです
- 393 名前:デフォルトの名無しさん [2007/11/17(土) 11:14:16 ]
- C++で配列を作成し、それをIntPtrにポイントし、そのIntPtrをC#の関数に渡したいと思います。
この時、C#ではどのようにして、その配列を扱うことができるのでしょうか?
- 394 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 11:34:03 ]
- C++"で"IntPtr?
そのC++ってのはC++/CLIなのか?
- 395 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 12:10:06 ]
- >>394
はい。基本的にはIntPtrがサポートされているものです。
- 396 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 12:23:22 ]
- 意味が分からん。なんだよ基本的にはサポートされてるって
マネージド同士なら配列直接渡しゃいいじゃねーか
- 397 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 12:29:21 ]
- >>396
正論。 >>395 何がやりたくてそのようなことをしようとしてるのか説明してくれないと。
- 398 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 12:47:38 ]
- >>397
すいません。説明が悪くて。 アンマネージの配列のポインタが渡されて、それをC#クラスに渡したいというクラスがあります。 その方法としてIntPtr渡しを考えました。 アンマネージからマネージにマーシャルする方法もありますが、メモリコピーは避けたいです。 このような場合はマネージのみサポートする言語では作成しない方がいいのでしょうか?
- 399 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 12:55:04 ]
- 妥当なのは配列をやり取りするんじゃなくて操作をラップしたクラスをやり取りする形。
UnmanagedMemoryStream とか。 いざとなりゃ直接ポインタでもいいけどな。
- 400 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 12:58:36 ]
- unsafeでポインタにすればいいのでは?
そもそも、C++の配列を作っている部分が既存部分でない(C#に対するラッパ部分) であるなどといった状況なら、初めからマネージ配列にし、 C++内では必要に応じてpinしてやったほうが楽な気がする。
- 401 名前:デフォルトの名無しさん [2007/11/17(土) 13:23:51 ]
- unsafeとクラス作成ですか。
特にC#はダメということではないのですね。ありがとうございます。 いただいたアドバイスをさらに調べてみます。
- 402 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 16:43:46 ]
- C#はC++の後継言語だから、C++できることはたいていサポートされているよ。
- 403 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 17:01:06 ]
- >>402
【審議拒否】 ∧,,∧ ∧,,∧ タリー ∧∧ (・` ) ( ´・) ∧∧ (ω・` ) U ) ( Uノ( ´・ω) キリバンナノニヨ | U u-u u-u (U ノ u-u ∧,,∧ ∧,,∧ u-u (・ω・`) (´・ω・) コンナレスジャシカタネエヨナ (l U) (U ノ `u-u'. `u-u'
- 404 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 17:06:00 ]
- 餓鬼くさ。
403みたいのってひょっとして面白いと思ってコピペするのかね。 そんなの面白いと思うのは精神年齢永遠の12才の自分だけなのに
- 405 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 17:08:27 ]
- 402 はキリ番なのか?
- 406 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 17:59:26 ]
- しかし402も釣りだろ
- 407 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 18:31:32 ]
- >402
C++からややこしい機能はできなくしたからこそ扱いやすい言語になってるのかと。
- 408 名前:デフォルトの名無しさん [2007/11/17(土) 19:29:29 ]
- this.axWebBrowser1.Navigateに
client.Connect(comboBox1.Text,80); でアドレスを渡して表示させています。 comboBoxにはFQDNを入れておりますがhttp://から記載するとエラーになります。 FQDNしか入れられないためにHTTPSでのアクセスが出来ていないのですが どのようにすればSSLでのアクセスが可能になるのでしょうか?
- 409 名前:デフォルトの名無しさん [2007/11/17(土) 21:57:07 ]
- >>407
C++に挫折した人にぴったりですねhw
- 410 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 22:05:37 ]
- >>408
AxWebBrowser なのか TcpClient なのかわからん 取り敢えず SslStream とか調べたらどうだ
- 411 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 00:07:17 ]
- C++にこだわる奴は言語にこだわり過ぎ。
本当に大事なことは必要な機能を実装すること。 ややこしい機能はチーム開発や保守性をぶっ壊してくれるから 簡単にすることは大事。
- 412 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 00:08:08 ]
- >>411
楽しいのも判るけどさスルーする事も大事。
- 413 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 00:26:01 ]
- いろんな言語やってきて思うんだけど、結局のところ言語の文法って本質的に言語間の差にはならないんだよね。
foreachなんかでも、マクロ使えば簡単にCでも使えるわけだし。 本当に言語選択で大事なのは、VMだとかOS依存部分だとかのもっと大局的な部分なんじゃないかなあ。
- 414 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 00:36:54 ]
- 言語選択は技術者の経験やシステムの構成に左右されるところが多いから、
何が良いとかは断言できない。 自分にとって、一番スマートにプログラミングできるのはC#だけど、 サーバサイドプログラミングでLinuxならJava、UnixならCを選択するのが良いと思う。 なにせ、並列処理はやはりUnix系使うのが一番堅実だから。
- 415 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 00:38:25 ]
- 堅実ってなあに?
- 416 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 00:39:59 ]
- 堅実というより堅牢性
・プログラムにおいて、エラーや例外などに強く簡単には暴走しないもの。 ・少なくともすぐに「不正な処理」と表示し、データ諸共および自分自身までふっ飛ばすようなOSのような作りではない事。
- 417 名前:デフォルトの名無しさん [2007/11/18(日) 00:40:08 ]
- ググレカス
- 418 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 00:42:08 ]
- いまどきそんなサーバ用OSはない。
- 419 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 04:36:13 ]
- なんか見てると最近WebBrowserコントロールの質問はやってんな
同一人物なのか 流行なのかwwww
- 420 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 01:24:28 ]
- ちょっと前に、スプラッシュウィンドウの実装についてあちこちで議論があったのを見たんだが、
こんなやり方では駄目なんだろうか? public static class Program { [STAThread] private static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Idle += Application_Run; Application.Run(); } private static bool _applicationRunning = false; private static void Application_Run(object sender, EventArgs e) { if (_applicationRunning) { return; } else { _applicationRunning = true; } Application.Idle -= Application_Run; //ここにスプラッシュウィンドウだの、メイン処理だのを書く //プログラムを終了させるべき場所にApplication.Exit()を書く } }
- 421 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 10:47:43 ]
- 初期起動時の処理にアプリケーション関連のイベントを記述するのは常識だから、
それでおk。
- 422 名前:420 mailto:sage [2007/11/23(金) 16:41:04 ]
- >>421 さんくす
- 423 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 16:42:35 ]
- そのあとのスプラッシュの表示と初期処理の
同時処理から完了までの流れがないと 大して意味ない気がするが… どうでもいいが最近の書籍ではタイマー使って 一定時間同期的にスプラッシュ表示するやりかたばっか書かれてるな。 スプラッシュの意味ないっつうの。 まあ平気でビジーループ使ってる例よりはちょっとだけましだが。
- 424 名前:420 mailto:sage [2007/11/23(金) 17:23:29 ]
- >>423
ご意見どうも。 実のところを言うと、スプラッシュウィンドウというよりは、 Form_Loadに全体の初期化処理を書きたくないので、 それをどこに書こうか、ということです。 必ずしも最初からFormを使うというわけでもないし。 あとは>>420の例で、何か過失を犯していないかを知りたかったのです。
- 425 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 19:03:56 ]
- メッセージループに入ってからやる必要のある初期化ならそんなんじゃないの。
そうでないならなんもいらんと思うが。
- 426 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 18:00:35 ]
- Bitmapを綺麗に回転させたいのですが、
RotateTransformは中心で回転していないのか一定以上の角度になると上手くいきません。 画像中心で回転させるにはどう指定すればいいのでしょうか? 教えてください。m(_ _)m public static Bitmap BitmapRotate(Bitmap bmp, float angle) { // 出力用 Bitmap dst = new Bitmap(bmp.Width, bmp.Height, PixelFormat.Format32bppArgb); // Graphics オブジェクト Graphics g = Graphics.FromImage(dst); // 透明色でクリアする g.Clear(Color.Transparent); // 回転させる g.RotateTransform(angle); // 綺麗に回転させるフィルタ g.InterpolationMode = InterpolationMode.HighQualityBilinear; // 描画 g.DrawImageUnscaled(bmp, 0, 0); // 解放 g.Dispose(); return dst; }
- 427 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 20:45:04 ]
- >>426
画像の中心を回転中心にするならそいうふうに移動させないと。 msdn.microsoft.com/library/ja/cpguide/html/_gdiplus_why_transformation_order_is_significant_usecsharp.asp?frame=true 移動→回転→元の位置に戻す 回転させたことないから間違ってたらスマンね
- 428 名前:426 mailto:sage [2007/11/26(月) 05:37:10 ]
- RotateTransformの前後に下記のコードを入れることで解決しました。
ありがとうございました。m(_ _)m // 中心を指定する g.TranslateTransform(bmp.Width / 2, bmp.Height / 2); // 回転させる g.RotateTransform(angle); // 元に戻す g.TranslateTransform(-bmp.Width / 2, -bmp.Height / 2);
- 429 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 19:57:23 ]
- C#がJavaより勝っている点を教えてください。
- 430 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 20:13:42 ]
- 教えてあげないよ
- 431 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 20:16:46 ]
- じゃん
|

|