1 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 23:56:27 ] このスレッドは 「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 前スレ ふらっとC#,C♯,C#(初心者用) Part47 pc12.2ch.net/test/read.cgi/tech/1257067411/
152 名前:デフォルトの名無しさん [2009/11/21(土) 18:27:13 ] >>142 ですが、ご存知の方、教えてください… (>_<)。
153 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:29:39 ] 「同じように印刷すれば、どのプリンタでも印字位置はズレない」 こんな命題が成り立つわけないのは自明だろ。全メーカーの全プリンタで検証して はじめて成り立つわけだし。 俺はそんな検証したくないし、そもそも、位置ズレに悩まされたこともあるから、 調整機能を付けるよ。
154 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:29:50 ] >>152 やってみればいいじゃん。
155 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:42:50 ] 万人が使えるUIなら当然微調整機能くらいは付けるわな
156 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:43:42 ] このどうでもいい議論いつまで続くんだろう
157 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:44:37 ] C#でグローバルIPを取得するにはどうすればいいですか?
158 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:46:26 ] >>157 ルータに問い合わせるかリモホを表示するサイトにアクセスして その結果を利用するか
159 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:46:52 ] >>157 なんのグローバルIPをどんなアプリから取得したいんだよ? LAN 内からルーターのグローバルIPが取りたい、ってことなら、UPnP か、 いったん外部にアクセスしてそっちからもらうか、だな。
160 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:48:32 ] >>158 ,159 ルータに問い合わせるって簡単に出来ますか? リモホを返すページ作ってアクセスさせてみます
161 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:52:13 ] perl だけど、サンプルあったぞ。 hydro.energy.kyoto-u.ac.jp/~sekiyama/upnp/upnp-get-extaddr
162 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:54:43 ] あ、SSI使えたので流用しようかと思いましたが、 ありがとうございます。使わさせて頂きます。
163 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 19:53:58 ] デリゲートはメソッドをカプセル化する型
164 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 01:10:28 ] SMTPClientを使ってメールを送るプログラムを作っていたのですが、 WinXPの自分のPCだと問題無く動作するのですが、 Vistaの友人のPCだと、 メールを送信できませんでした。 場所 System.Net.Mail.SmtpClient.Send(MailMessage message) 場所 ConnectForm.Sendmail_DoWork(Object sender, DoWorkEventArgs e)] となり、詰まってます。smtpはVistaで使えないのですか?
165 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 01:17:08 ] >>164 メール送受信関係はWindowsのアキレス腱。 だって、元々SMTPはメールサーバー同士でメールをやり取りするためのプロトコルだぞ。 メールサーバーをローカルに立てているWindows機なんてそこらにはないだろ? ってことで、メール送信に関しては失敗したときの動作を必ず決めておくべき。 質問の答えだが、別にVistaだから使えないってことはない。 クライアントマシンの環境次第。例えばオレのマシンじゃ動かない。
166 名前:164 mailto:sage [2009/11/22(日) 01:34:04 ] 言葉足らずでした。 自分の場合、どの環境からも送信出来るようにと思い、 YahooやGoogleのフリーメールをsmtp経由で送信しているのですが、 それでもそんなものなんでしょうかね?
167 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 01:47:03 ] >>166 だから、クライアントマシンの環境次第だと言ってるじゃないか。察してくれよ。 ちなみに今時SMTPの標準のポートが空いてるプロバイダなんてまずねーよ。
168 名前:デフォルトの名無しさん [2009/11/22(日) 07:02:38 ] FillRectangleメソッドではRectangleFを指定できるのに、 DrawRectangleメソッドではなぜRectangleFが指定できず、Rectangleしか指定できないのでしょうか? floatのX,Y,Width,Heightを直接記述するとデバッグでエラーにならないのだから--- RectangleFが指定できたらいいのですが・・・・・できますでしょうか。 ご存知の方よろしくお願いいたします。
169 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 09:05:49 ] 言われてMSDN見てみた。ホントに一貫性無いな・・・なんでだろ。 Graphics..::.DrawRectangle メソッド (Pen, Single, Single, Single, Single) あるから出来ないわけないよね。 Graphics..::.DrawRectangles メソッド (Pen, array<RectangleF>[]()[]) に食わせるか、ラップ関数作って食わせるか。
170 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 09:16:37 ] >>164 とりあえずエラーの場所だけ書かれてもな
171 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 11:07:51 ] C#はCと違って文字列はアドレスはないの? char *P="もじれつれつ"; みたいなことできない?
172 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 11:09:56 ] うん。
173 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 11:13:21 ] そうなんだ。不便だのぉ
174 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 11:17:12 ] ポインタ管理しなくていいから楽でいいじゃん
175 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 11:21:37 ] >>171 ポインタは無いけど、イテレータ(Enumerator)ならあるよ。 ただし、string自体がimmutableなので、読み取り専用になるけど
176 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 11:21:39 ] GCって何ですか
177 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 11:22:43 ] ググレ
178 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 11:29:40 ] エンスーな写真月刊誌
179 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 12:10:22 ] C#は、他プロセスにアタッチして、 そのプロセスが持つフォームのタイトルテキストを変更するような プログラムを作成出来ますか?
180 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 12:13:32 ] うん 大抵はDllImport祭りになるけど
181 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 12:14:59 ] XPでVistaのガジェットのようにデスクトップに表示するアプリを作りたいのですが どのようにすればいいのでしょうか
182 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 12:30:24 ] 作ればいいと思うよ
183 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 13:03:14 ] 文字列を区切って変数に代入するメソッドはどうすればいい? class Test{ public int x; public int y; public void func(string s){ } } func("132/145")みたいに/で区切ると x=132、y=145が入る ようなことがやりたいんだけど。
184 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 13:05:34 ] string や int の性的メソッドを調べてみるべし
185 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 13:14:19 ] >>183 Splitかければいい。というか、こんなのは基本だろ? 分割できなかったときは、たぶんこの場合はnullを返すよりは例外を出したほうがいいだろうな。
186 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 13:16:33 ] >>183 ttp://www.atmarkit.co.jp/fdotnet/dotnettips/317vbsplit/vbsplit.html
187 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 13:26:37 ] unsafeでポインタ使えるから色々試してみるのも面白いよ splitより簡単にできることはないけど
188 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 13:33:31 ] 実はただの分割じゃなく数式の解析が目的でしたとかなー
189 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 13:39:55 ] >>71 で、「ListViewで垂直スクロールバーが出ているかどうか知りたいんですが」ってカキコしたんだが スルーされてしまったけど、やはり無理?
190 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 13:45:34 ] それが人に物を聞く態度か?
191 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 13:54:07 ] 教えてくれたらロリ画像だします・・・
192 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 14:02:55 ] そうしたら通報します・・・
193 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 14:05:16 ] >>189 ClientRectangleの外にItem(かSubItem)が存在するかどうかで判定するとか。 …泥臭いやり方だなw
194 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 14:28:01 ] >>193 どうもです。ListViewをOwnerDrawしている状態で、ヘッダーの長さを水平スクロールバーの出ない長さに調整したいのですが 縦スクロールバーを考慮いてその分ヘッダの長さを短くすると、バーが出ない時に白く残っちゃうんですよね これを何とか消したいんですが他のアプローチ考えてみます
195 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 14:31:55 ] >>189 ListViewのカスタムコントロール作ったことあるが、そのときはGetScrollBarInfoでやった 表示/非表示を知りたかったわけじゃなく、縦横それぞれのスクロールバーの 自動表示をコントロールしたくて実装した副産物 初心者スレでAPI薦めるってどうよって思ったが、正直ほかの方法は知らない
196 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 15:01:46 ] >>195 ありがとうございます。一応サンプル有ったからこれからテストしてみようと思います www.pinvoke.net/default.aspx/user32.getscrollbarinfo
197 名前:デフォルトの名無しさん [2009/11/22(日) 16:32:01 ] PrintDocumentにて、商品明細書を作成しています。、A4縦の単表に100ほどの項目名称や金額をDrawStringメソッドやDrawRectangleメソッドを併用して記述しているのですが、プレビューが出るのに15秒かかってしまいます (>_<;)。 項目数が多い場合、これくらい時間がかかるものなのでしょうか…。 皆様はどのような工夫をして、レスポンスを上げていますか? よろしくお願いします。
198 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 16:35:50 ] どのようにしているからレスポンスが遅いのかが分かりません。 各処理の区切りごとに時間を計測してどのボトルネックになている部分をまず探してみてはどうでしょう? 例えばDBからデータの取得が遅いとか色々あると思います。
199 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 16:37:15 ] 15秒は遅いな 単票なら座標計算に手間取る事は無いだろうから、データ取得あたりで時間掛かってないか見てみた方がいい
200 名前:デフォルトの名無しさん [2009/11/22(日) 17:05:30 ] >>199 ありがとうございます。 データは、今は直接、DrawStringメソッド内に文字列を指定しています。 DrawStringメソッドにて文字列の右揃えや左揃えを細かく指定し、さらに背景にFillRectangleでグレーの網掛けも随所に入れています。 DrawStringメソッドと DrawRectangleメソッド、 FillRectangleメソッドを 1つの関数に定義して、100項目ほどの文字列の描画について、全てその関数で行う形にしています。 いい方法と思いましたが、項目定義が増えるほど一気に重たくなりました (T_T;)。 DrawStringメソッドの中でPointのみを指定し、Rectangleを使わないようにした方が軽いかもしるません。 これから随所を削りながら試験してみます。 もし、何かコツなどのご意見がありましたらぜひ教えてくださいっ…!!
201 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 17:11:35 ] >>200 どちらかっつーと、データをレンダリングするのより データを取ってくるのに時間が掛かってるんじゃないかと思うが。 コードの断片ごとに掛かってる時間を計測して、標準出力に出して眺めてごらんよ。
202 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 17:11:39 ] たかだか100項目程度のそれで15秒もかかるとは思えない 生で書き込んでるんだったら 適当に文字を置換して晒してみれば? 座標計算の所が気になると言えば気になるけど
203 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 17:20:59 ] PDFにしないからだよ
204 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 17:23:46 ] >>203 え?
205 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 17:35:35 ] >>200 半分の50項目だったら何秒? 半分コメントアウトして試してみて
206 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 18:04:12 ] ListViewの話ですが、スクロールバーの検出に成功してカラムの調整まで成功しました が、水平スクロールバーの再描画というか消えるところまでは出来ませんでした もう少し頑張ってみます
207 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 18:41:52 ] 配列と列挙型ってどう違う? いやまぁ違うところは違うけどさ。 列挙型でできることって配列使っても簡単に同じことできね? 列挙型の存在価値がわからんがなんのためにあるの?
208 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 18:43:33 ] 全く違うだろう というかどういうのをして同じことって言うの?
209 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 18:46:00 ] 配列だと代入できんじゃん わざわざラップクラス作る? そのほうが無駄な手間だ
210 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 18:50:29 ] >>207 , 209 ????? 何を言ってるんだ???
211 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 18:51:44 ] >>209 は>>207 に向けてるんだと思う。
212 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 18:51:55 ] もう一度教科書読むことを勧める
213 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 18:53:36 ] >>211 それはそれでイミフだ >>207 のイミフな発言をどう解釈して>>209 の回答になったのかも非常に気になる
214 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 18:53:38 ] >>206 194を読まずにレスしたからGetScrollBarInfoっていったけど 本来の目的は横スクロールバーの表示抑制なんじゃないの? そうであるならイベントハンドラでカラムサイズを調整すれば済むと思うけどダメだった?
215 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 18:55:58 ] >>207 列挙型で出来ることを配列で簡単に実現してるケースを知りたいわ enum Color { Red, Blue, Green }; = String[] color = {"Red", "Blue", "Green"}; とでも思ってるんだろうか・・・
216 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 18:56:05 ] string[] 時間={"あさ","ひる","よる"} enum 時間 {あさ,ひる,よる} Now=時間[1]; if(ひるなら) ほにゃらら if(Now==時間.ひる) ほにゃらら これは何がどうちがうの?
217 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 18:56:40 ] >>214 カラムサイズ調整までは何の問題もないけど、リストにロード直後だと再描画してくれませんでした カラム調整は確認したから大丈夫ですよ
218 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 19:00:04 ] >>216 なんで自分で調べないの?
219 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 19:00:11 ] >>216 列挙体を関数の引数にした場合、列挙体以外の値以外入ってくる余地無くなるよね これだけでも全然違うと理解できないかな?
220 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 19:01:56 ] >>216 ぜんぜん違うだろ。 時間[1]っての見てだれが"ひる"だってわかんだよ。 それに Now に "まよなか" ってまちがって入れちゃった場合だれが気付いてくれるんだ? もし時間の種類に "ひづけへんこうせんをこえるまではよるのつもりでいます" なんて長いパターン入れたら 比較に時間かかるわ無駄なメモリ使うわでもったいないよな。
221 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 19:05:30 ] >>220 突っ込み所はそこなのか? >>216 は上ではNowに時間[1]ってのを代入してて、下じゃ比較してるだけなんだぞ
222 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 19:07:55 ] enum は定数のラベル 実態は 1 とか 2 とか 3 なわけよ。 プログラムを組むときって状態を管理することが多いんだけど(あさだったらXX、ひるだったらYYとか) 状態の数が3つとか4つなら文字列なんか使うより数字使った方がメモリが無駄にならないし 処理も速いよね。 でも 1 とか 2 とかをプログラム中に直接書くと、書いてる人が混乱しちゃうし間違いやすい。 一人で数百行ぐらいのコード書くならまだしも2人3人ぐらいでやってるとあっというまに破綻する。 で、その 1 とか 2 のマジックナンバーに名前を付けることにしたのが enum なわけだ。 C時代は enum の他に #define なんてのもあったけど。 enum のいいところは変数にあらかじめきめられた数字「しか」代入出来なくしてくれる作用があって、 1 とか 2 で管理してる場合に間違って 9 とかが入っちゃって誤動作するのをコンパイルする段階で 見付けてくれるのよ。
223 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 19:11:46 ] お前ら釣りに優しいなw enum使ってくる時点で初めてではないだろ
224 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 19:15:19 ] 経験者があの質問するのは釣りでも無理だろ・・・
225 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 19:17:23 ] 時間.ひる == "ひる" だと思ってるのか?もしかすると。
226 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 19:20:27 ] >>205 レスの流れからして、読み込み済みデータで描画して何秒なら分かるが。
227 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 19:21:06 ] >>217 いや、なんというかアプローチの仕方が違うんじゃないかなって思ってさ 最初は縦スクロールの表示判定だったけど、その真意は横いっぱいに 表示したカラムのせいでアイテム数が増えて縦スクロールが出ると 結果的に横スクロールバーも出るっていう話ではないの? そうであるなら、例えば縦スクロールバーのみ出しっぱなしにすれば 処理はシンプルになると思うし、縦スクロールバー隠しておくつもりなら 横スクロールバーは出ないようにしてしまったほうが、カラム調節で チラツキの押さえ込みと格闘するより楽なんじゃないかなぁと・・・
228 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 19:26:39 ] enumすら説明出来ないクズスレ
229 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 19:29:37 ] >>226 半分の印刷で、時間が半分になるのか1/4になるのか、まさかの1/9になるのか と言うことの確認。つまり二重ループ三重ループの疑い。
230 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 19:35:20 ] 1/9ってなんだオレ…三重なら1/8だorz
231 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 19:56:13 ] なんでいちいちちょっとしたことするだけなのに Mainを意味のないクラスで囲まなければならないんだ!不便!
232 名前:デフォルトの名無しさん [2009/11/22(日) 19:58:46 ] >>205 50項目のときは5秒でした。 サブルーチンの中で ※背景の塗りつぶしが必要ならFillRectangleを実行する。 ※文字列を囲むならばDrawRectangleを実行する。 ※文字列については常にRectangle構造体の中で水平垂直位置をパラメーターから与える …これを150項目分行うようにしています。 項目が増えれば増えるほど、倍以上に遅くなっています。 FontなどのオブジェクトのDisposeが足りないのかなと思って直しましたが、結果はやはり15秒弱です。
233 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 19:59:52 ] Font? 一項目ごとにフォント読み込んだりしてない?
234 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 20:06:57 ] >>231 そこまで考えてるのになんで ちょっとしたことするだけなのに Main なんて意味のないメソッドで囲まなければならないんだ!不便! まで発想が飛ばないのかねぇ。
235 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 20:08:29 ] どう見ても>>231 はわかってる奴の発想だな >>209 にはとても及ばない
236 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 20:16:45 ] >>181
237 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 20:24:43 ] >>229 え、多重ループの疑いがあったとして項目数減らしても計算量は線形でしか減らないキガス・・・ ああ、そもそもルーチンを何回も何回も呼び出している疑いか。あるね、そんな事。
238 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 20:25:44 ] >>227 用途は趣味で作っているメディアプレーヤーだから、1行の時もあれば100行近い場合もあるんですよ で、曲名のカラムを調整して縦スクロールバーが無い時はいっぱいまでカラムを延ばして バーが出たらバーの分だけ曲名を縮める。 そうしないと縦スクロールバーが無いとOwnerDrawしたカラムヘッダーの最後が真っ白けになっちまうし、 逆に縦スクロールバーが出ている時に伸ばしたら横スクロールバーが出るのがちょっとウザイ 現状、調整後に横スクロールバーが残っても、縦または横にスクロールした瞬間に消えるんですけどね
239 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 20:29:26 ] 一回5secとして三回回って15sec。項目半分に減らして2.5secとして三回回って7.5sec。 減らした比率でしか計算量は減らないから、237は勘違い。
240 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 20:30:52 ] >>235 しかしながらC++とかに慣れてるとは・・・とてもじゃないが思いにくい 不便とかを超えてもう当たり前になっている所だからぶっちゃけどうでもいい そして、そんな一か所がなんだってんだ もっといろいろあるだろう orz
241 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 20:34:40 ] >>232 1/3だと微妙だけど二重ループの可能性は高いな ありそうなのは、 項目1つ目の場合は1つ目を描画し、2つ目の時は1つ目と2つ目を描画し…のパターンと 項目1つ描画するつもりが全項目描画している関数を呼び出している…のパターン
242 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 20:36:07 ] >>232 disposeしたところでGCに回収してもらわないと意味がない そんで強制的に回収させてたら余計に遅くなるんではないかと・・・ メモリがないわけではないんなら ところで150項目てあるけどループ回数は何回? 単純に150? それとも違う? 1項目は そのサブルーチンを何回使う? フォントはでいるだけ使いまわしてる? (例えば明細用を最初に定義して使いまわす)
243 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 21:04:27 ] 描画するデータをその都度どこかから持ってきてるとかかな
244 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 21:09:01 ] スタティック変数使って、何回通ったか数えてみてから考えても良いかも
245 名前:241 mailto:sage [2009/11/22(日) 21:12:26 ] オレ算数できてなかったorz 1/3の数の描画で1/3の時間だったら、1項目の描画の途中で変に遅い部分があると言うだけだな
246 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 21:16:24 ] >>238 それなら、縦スクロールバーは常に出しっぱなしにして、 横スクロールバーは常に非表示にしておけば一番スッキリするんじゃないの? 少なくともカラムの幅に関係なく横スクロールバーは出ないようにしてしまえば かなり問題は簡単になると思うんだがなぁ
247 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 21:16:57 ] >>232 さっきから埒が明かないな。ソースコードさらしたほうが早いんじゃね? おそらく相当ひどい実装になってるんじゃないかと予想。
248 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 21:55:21 ] >>246 どうもListViewでは、スクロールバー自動と無ししか選択できないみたいです ShowScrollBarをテストしてみたんですが、無効化されるようですね 他にやり方有りましたら教えていただけませんか?
249 名前:デフォルトの名無しさん [2009/11/22(日) 22:01:17 ] FontオブジェクトやRectangleオブジェクトを生成するのって そんなに負荷がかかるものなのですか? 明朝体やゴシックが入り混じっているときも、 変更があるときだけ生成し直すのが良策なのかな。
250 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 22:03:28 ] Fontはアンマネージリソース抱えてるので特に生成が重い類 Rectangleは構造体だからほとんどノーコストで作れる
251 名前:デフォルトの名無しさん [2009/11/22(日) 22:10:22 ] >>250 アンマネージリソース…? はじめて聞いた。 クグルとするか (>_<;)。
252 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 22:20:52 ] Fontを150回作るだけで何秒もかかるものでもないんだから、気にするだけ無意味