[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 12/07 23:51 / Filesize : 174 KB / Number-of Response : 788
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C#, C♯, C#相談室 Part45



1 名前:デフォルトの名無しさん [2008/01/21(月) 19:35:37 ]
(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。
c++厨の嵐はスルー汁。

前スレ
C#, C♯, C#相談室 Part44
pc11.2ch.net/test/read.cgi/tech/1194956418/

その他テンプレ>>2-5くらい

446 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 19:04:02 ]
Form.Text

447 名前:445 mailto:sage [2008/02/27(水) 19:22:13 ]
>>446
それが反映されないのです。
form2.Show();したものですからかね?

448 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 19:46:09 ]
form2.Text

449 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 19:48:49 ]
Application

450 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 22:14:53 ]
別スレッドから書き換えてたりしないだろうな

451 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 11:54:13 ]
たぶん違うインスタンスのプロパティいじってるとエスパー

452 名前:デフォルトの名無しさん [2008/02/28(木) 20:42:52 ]
C♯[windowsプログラミング]の問題集を買ったんですがどうしてもわからない問題があったので教えてください
問題:以下の説明に該当するイベントを答えなさい
@ボタンをクリックしたときに発生する
Aラジオボタンの選択された時発生する
Bテキストボタンの値が変わった時発生する
Cフォームが閉じる時発生する
Dタイマーが有効になった時に一定時間間隔で発生する

453 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 21:01:02 ]
VC# 起動してフォームにそれぞれ配置して
プロパティのイベント見れ
親切に説明書いてあるから

454 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 21:06:11 ]
分からなくても全然OK。IDEが助けてくれるから。



455 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 21:11:42 ]
そんな名前なんてほとんど役に立たない知識だと思うけど。
糞問題集だな


456 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 21:13:22 ]
発生することの名前の前に「On」を付けろ。

457 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 21:29:57 ]
よーし!パパ、役に立たない豆知識を問題集にしちゃうぞー!

458 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 21:57:23 ]
問題集を見ただけで本全体が糞であると予想できる。
今すぐゴミ箱に捨ててプログラミング.NET Frameworkを買うんだ。

459 名前:デフォルトの名無しさん [2008/02/28(木) 22:21:41 ]
数年前、C#をかじった程度で久しぶりに他人の書いたソフトを見ていて
驚愕した。アンマネージDLLの関数をコールする際の話なのだが、
文字列を渡すためにcharポインタを渡すところでいきなりC#からstringを渡している!?
それでちゃんと動いている・・
また、普通に配列を渡したりもしている・・配列の「参照」ってポインタなの?
stackallocとか使ってポインタを使わないとダメだと信じてたのに・・


460 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 22:23:49 ]
つ 相互運用マーシャリング
つかこの辺参照しないでよくP/Invokeやってたな

461 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 23:15:10 ]
>>452は釣りだろ?
まさかそんな問題集が存在するとは思えない

462 名前:980の続き [2008/02/28(木) 23:58:32 ]
461>学校のほうで販売されていた問題集なんです

463 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 00:01:09 ]
>>462
先生説教して来い

464 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 00:11:53 ]
恐らく、問題集が問題なのではなく、>>452の書き方が問題。



465 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 00:29:42 ]
>>452 が単位を落としますように。

466 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 03:08:17 ]
DBに登録済みの、あるテーブルのスキーマから空のDataTableを作成したいんですが、
方法ありますか?列をちまちま追加するより簡単に

467 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 03:43:50 ]
>>466
普通に、空のDataSetをVS上で作って、
(newするのじゃないよ)
Adapterでつなげばいいんじゃね?

468 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 05:42:16 ]
DataAdapter.FillSchema

469 名前:466 mailto:sage [2008/02/29(金) 15:17:53 ]
>>468
これでおkみたいです。thx

470 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 19:12:01 ]
コマンドプロンプトを使って、NetUseコマンドにてドライブを作成したいのですが、
接続対象のパスに空白が含まれている場合はどのように入力したらいいでしょうか?

471 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 19:16:27 ]
"

472 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 00:48:11 ]
                "

473 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 01:00:01 ]
"なぜ ここで聞くんだ?"

474 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 01:30:14 ]
相談室だから。



475 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 04:08:31 ]
もし学生さんなら是非、進路指導室に喧嘩の指導をお願いしに行ってみて欲しい

476 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 13:23:03 ]
子供相談室に包茎の悩みを聞いてもらっておk?

477 名前:デフォルトの名無しさん [2008/03/01(土) 19:53:06 ]
DrawEllipseって何でこんなに使いづらいんですか?
中心点、半径を引数に与えれば円を書いてくれるような関数にすればよかったのに。


478 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 19:55:39 ]
それは楕円の特殊なケースだからなぁ
ラップすればいいんじゃね

479 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 20:16:51 ]
楕円でも短径と長径を・・・ってのはいいとして、
表示したい範囲がはっきりするので
この仕様の方が便利な事もまああるし、
幅が偶数ピクセルだと 「中心」 が上手く定まらないので、
最も汎用的な関数としてはこうせざるを得なかったんだろう。

ラッパ関数くらい用意して欲しかった所ではあるけど。

480 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 20:22:16 ]
ラッパラッパってポリモーフィズムくらい使えよ。

481 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 20:23:48 ]
ポリモーフィズム関係ないだろ

482 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 20:26:57 ]
間違ったポリモーフィズムの代表例じゃないかw

483 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 21:23:41 ]
>>479
> 楕円でも短径と長径を・・・
定義通りにするなら、焦点2つと距離の和(=長径)

でも、GDI使うような場面では使い難いと思うが

484 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 23:42:41 ]
つか拡張メソッド



485 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:02:07 ]
中心の座標と半径でって未だにそんな大昔のMS BASICみたいな発想をする人がいたことにむしろ驚きw
どう考えてもそんなの使いにくいだろう

486 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:02:49 ]
質問です。
static int deg = 90;
const double rad = 0.0174532925;
const int r = 200;
private void button1_Click(object sender, EventArgs e)
{
int r = 200;
int x, y;
Graphics g = pictureBox1.CreateGraphics();
g.FillEllipse(fillbrush, 250, 20, 400, 400);
x = (int)(r * Math.Cos(deg * rad) + 450);
y = (int)(-r * Math.Sin(deg * rad) + 220);
g.DrawLine(mypen, 450, 220, x, y);
timer1.Enabled = true;
}
private void timer1_Tick(object sender, EventArgs e)
{
Graphics g = pictureBox1.CreateGraphics();
deg = deg - 12;
if (deg >= -270){
int x1 = (int)(r * Math.Cos(deg * rad) + 450);
int y1 = (int)(-r * Math.Sin(deg * rad) + 220);
g.DrawLine(mypen, 450, 220, x1, y1);
}
if (deg == -270)
timer1.Enabled = false;
}
のような感じで30秒で一周するタイマーを作ったのですが、
コレを線でなく扇型でぬりつぶしていく良い方法は無いでしょうか?

487 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:08:13 ]
Arc

488 名前:デフォルトの名無しさん [2008/03/02(日) 00:14:00 ]
>>486
しかし酷いコードだな。
「プログラム診断室」に出てくる悪いコードの見本みたいだ

489 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:28:47 ]
>>488
ハァ?
じゃぁ、良いコードの見本書いてみろよ。


490 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:39:09 ]
例えば、
>const double rad = 0.0174532925;

const double rad = PI/180;

くらいはしてほしい。。

491 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:41:16 ]
450とか220とかを変数にできないものか。
あと、12じゃなくて、360/30って書いてよ。

492 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:43:14 ]
private void button1_Click(object sender, EventArgs e)

private void timer1_Tick(object sender, EventArgs e)
に共通部分が多いことに違和感を感じないのだろうか。

493 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:43:43 ]
>>487
すいません。
プログラミング初心者なんです。

>>489
ちょ、あなた誰ですか。
やめてください。

>>490
わかりました。Math.PIですね。
>>491
わかりました。

494 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:45:36 ]
>>492
すいません。
オブジェクト指向というか、スコープを良く分かってないんです。



495 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:49:16 ]
if (deg == -270)
も危険な感じがする。12度間隔じゃなかったら270丁度にならないよ。
if (deg <= -270)
にした方が良いかと。


496 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:50:17 ]
質問に対する回答以外のつっこみを排除しようとするなら2ちゃんなんかに書き込まないほうが精神衛生上いい

497 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:50:43 ]
>>486
天才wwwww

498 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:52:24 ]
ちょ、変数rがwwwwwwwwwww

499 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 03:09:07 ]
で、>486の質問への回答としてはg.FillPie()を使えという事でいいんかいな

500 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 07:22:27 ]
今までだと WebBrowser にフラッシュを表示させると
クリックしてもフラッシュにクリックが伝わらなかったけれども
いつの間にか正常にクリックできるようになってるじゃん

501 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 07:32:16 ]
x = (int)(r * Math.Cos(deg * rad) + 450);
y = (int)(-r * Math.Sin(deg * rad) + 220);

はPositionFromDegreeとかにまとめとけ

502 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 12:40:37 ]
しかしregionでまとめれば大して差は無い

503 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 15:10:47 ]
CreateGraphicsでつくったGraphicsはDispose推奨

504 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 16:59:45 ]
自作のアプリケーションの更新があった場合ネットワーク経由で自動的に通知できる様にしようとしています
Jane Doeをイメージしていただけるとありがたいです…

こういった場合の一般的なアプローチの方法を教えていただきたいです。
今のところ、バージョンを管理するテキストファイルをウェブ上にアップしておきそれをDL、読み込みすることで判定する、といった方法を考えているのですが
いまいち遠回りでスマートでないような気がします。

また、確認のついでに使用しているバージョンなどのログが取れたらと思うのですが
こういったものは普通CGI等を利用して実装するのでしょうか?



505 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 17:19:30 ]
>>504
前者は、逆にそれ以外の方法があるのかと思う。
サーバー側から配信するってことだと思うけど、宛先がわからない。
初回に登録させるのは多分いやがるだろうし、登録したって変わる可能性が高すぎる。
おまけに配信作業がプログラムを書くにしても手作業でやるにしてもめんどくさすぎる。

最新情報を書いておくのはテキストでいいのか、XMLがいいのかって問題はあると思うけど
そのURLをずっと固定で維持する必要があるのが唯一の難点なだけで、
それしかないと思うけど。

後者はUserAgentに書いておけば、アクセス解析させるだけで出来そうな気もする。
ってこれも一応CGIか。

506 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 17:41:14 ]
>>504
clickonce

507 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 17:48:55 ]
>>505
なるほど!UserAgentは思いつかなかったです。ありがとうございます。
CGIとかさっぱりだったので困り果ててたのですがさすがにアクセス解析ならなんとかなると思います。

自動更新は苦肉の策のつもりだったのですが
やはり他の方法は考えにくいですよね…。

サーバーダウン等で接続できない時はその旨を出すようにしてましたが
そもそも、サイトが移転した状況を考えていませんでした。
人為的な問題なのでヘルプにサイトを記述したり、移転前に告知することで対策することにします


ところで、テキストで書く以外考慮していなかったのですが
バージョン管理をXMLで記述するメリットというのはどういったものなのでしょうか?

508 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 18:02:49 ]
>>506
ああ、ClickOnce忘れてました…!
これは限りなく正解に近いです。ありがとうございます。

ただ、まだあまり使われてるところを見かけないのが少し心配ですが
とりあえず>>504の方法と両方試してユーザーと相談してみることにします。
みなさま本当にありがとうございました。

509 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 22:07:52 ]
>500
IEの仕様変更。
特許の期限切れで以前の動作に戻ったんだよ。

510 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 22:22:04 ]
>>509
そのパッチってまだ出てないでしょ
サイトによっては
クリックするとこのコントロールをアクティブにして使用します
ってのが出るし

511 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 22:28:21 ]
確かJavaScriptで逃げてるはず


512 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 22:38:20 ]
Eolas問題に関してはスクリプトで回避できるけれども
>>500の件はスクリプトを使っていようがいまいが
WebBrowser 内の Flash はまともに動いていなかった

513 名前:デフォルトの名無しさん [2008/03/03(月) 03:29:05 ]
ボタンコントロールのImageプロパティに
ビットマップを設定しています。

クリック時やマウスオーバー時の
画像を変更したいのですが、よい方法はありますでしょうか?

現状ではMouseEnter、MouseLeaveイベントを処理して
Imageをその都度入れ替えています

514 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 03:43:54 ]
良い方法っていうのは効率の良い方法って意味だよね?

EnterとLeaveで2枚しか使わないなら、2枚を一々変えずにメモリ確保とかその程度じゃない?



515 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 05:39:39 ]
imagelistでも使えば

516 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 08:52:04 ]
おはうー

517 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 23:21:01 ]
bmpはでかいからjpgやpngにするとか?
もしくは16色bmp

518 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 23:38:27 ]
どうしたいのかわからないぞ
処理を軽くしたいとかか?

519 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 00:22:06 ]
一般的あるいはスマートな方法があるのか知りたいだけじゃないのか?

520 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 00:22:36 ]
都度入れ替えているが切り替えスピードが遅く困っている、とエスパー予備軍の俺が予想

521 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 00:59:29 ]
まあ、本人も消えてるしどうでもいいか。

522 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 04:03:30 ]
以下のコードを実行すると、FileLoadException が発生します。
コード (抜粋):
static void Main(string[] args) {
 var source =
@"using System;
public class Test {
 public static void Main() {
  Console.WriteLine(Console.ReadLine());
 }
}";
 var result = CodeDomProvider.CreateProvider("cs").CompileAssemblyFromSource(
  new CompilerParameters() {
   GenerateExecutable = true,
   GenerateInMemory = true,
  }, source);
 var domain = AppDomain.CreateDomain("test");
 domain.Load(result.CompiledAssembly.GetName());
}
例外:
ファイルまたはアセンブリ 'System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'、
またはその依存関係の 1 つが読み込めませんでした。見つかったアセンブリのマニフェスト定義はアセンブリ
参照に一致しません。 (HRESULT からの例外: 0x80131040)

GenerateInMemory を false にして OutputAssembly を与えてやるとうまく動作するようなの
ですが、メモリ内で生成した上で動作させるためにはどうすればよいのでしょうか。
どなたかご教示いただけませんでしょうか。よろしくお願いいたします。

523 名前:デフォルトの名無しさん [2008/03/04(火) 06:12:47 ]
PictureBox自体を回転させる方法は無いでしょうか?
もしくはPictureBoxに書いた画像を回転させる方法は無いでしょうか?
Graphics g = pictureBox1.CreateGraphics();
g.DrawPie(mypen, 20, 20, 400, 400, 0, 18);
pictureBox1.Image.RotateFlip(RotateFlipType.RotateNoneFlipY);
としたのですが、出来ませんでした。

524 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 06:57:56 ]
CodeDomに参照アセンブリを設定してやる必要があるんじゃなかったかな



525 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 07:46:40 ]
最初からRotateさせてPieかいたら?

526 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 08:33:19 ]
>>522
最初から新しいドメイン内でコンパイル

527 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 08:35:01 ]
だいたいdomain.Loadはあまりやらない方がいいぞ。


528 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 11:29:46 ]
>>523
DrawPieの前にg.RotateTransform

529 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 11:33:26 ]
>>523
pictureBox1.CreateGraphics()で取得したGraphicsに描画しても
pictureBox1.Imageの方はなんら変わらないから、どちらか一方に統一しろ

Image使うならpictureBox1.ImageからGraphics作ってそっちに描画
俺はよくバッファ代わりに使ってる

530 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 11:41:50 ]
メソッド内でNewしたコンボボックスにDataSource設定してもItems.Countが更新されないみたいなんだけどそういうもん?

531 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 11:45:31 ]
なんのことやら

532 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 13:36:26 ]
こんな感じ

private void Form1_Load(object sender, EventArgs e)
{
  DataTable dt = new DataTable();
  dt.Columns.Add("Key", typeof(int));
  dt.Columns.Add("Value", typeof(string));

  DataRow r = dt.NewRow();
  dt.Rows.Add(new object[] { 1, "h" });
  dt.Rows.Add(new object[] { 2, "o" });
  dt.Rows.Add(new object[] { 3, "g" });
  dt.Rows.Add(new object[] { 4, "e" });

  //画面に張り付いてるオブジェクト
  comboBox1.DataSource = dt;
  comboBox1.ValueMember = "Key";
  comboBox1.DisplayMember = "Value";
  MessageBox.Show(comboBox1.Items.Count.ToString());

  //メソッド内で宣言したオブジェクト
  ComboBox zzz = new ComboBox();
  zzz.DataSource = dt;
  zzz.ValueMember = "Key";
  zzz.DisplayMember = "Value";
  MessageBox.Show(zzz.Items.Count.ToString());
}


533 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 14:01:32 ]
Itemsに反映されるのはハンドルが作られてから。

534 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 15:29:37 ]
Debug.Print(zzz.Handle.ToString());
でハンドル作って?みたけどやっぱりCountは0のままっぽい

やり方が間違ってるのかな・・・orz



535 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 15:54:16 ]
ウィンドウハンドルだろjk

というか一旦ウィンドウが表示されてからメッセージボックスで出力すればいいんでないか?

536 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 20:22:03 ]
Handleプロパティにアクセスすると作成されたと思うけど。

RefreshItems();でもしてみれば?


537 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 22:38:25 ]
長いパスを扱うときのファイル名の頭に\\?\を付けると例外が起きます。
そのまま長いパスをFileStreamとかに渡しても駄目です。
.NETだけだと長いパスは扱えなかったりします?

538 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 22:45:54 ]
逆に.NET以外だと扱えたりします?
んなことないと思うけど。

539 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 22:58:07 ]
前に掲示板で見かけたような気がするが見つけられん。
まあ結論として.NETじゃ扱えない、だったはず。
やりたいならCreateFileでハンドル取ってきて、かね。

540 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 23:42:22 ]
datagridの列幅ではまって早二日・・・・
検索してもうまい解決方法がみつからない、誰か教えてくれ
やりたいのは、csvを読んでdatagridに表示すること。
ttp://www.ailight.jp/Grid_CSV.aspx
ここで紹介されているコードを参考にして、csvファイルをdatagridに読み込ませたのだが、
列幅が設定できない。
各所で紹介・解説されている列幅設定だと、tablestyleを設定して云々とあるが、俺にはそこらへんの処理の仕組みがさっぱりわからない。
上に引用したコードを元に、うまいこと列幅を任意の長さに設定する方法ないかな?

541 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 23:45:25 ]
DataGridTableStyle でぐぐれ

542 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 23:49:30 ]
>>541
既に昨日ぐぐった。でもわからん。
各所で解説されている列幅設定のコードを参考にしてdatagridに一回読ませるのはできるが、
その後に別のcsvをdatagridに読ませようとすると、
追加情報 : このデータ グリッドのテーブル スタイル コレクションには 既に同じマップ名のテーブル スタイルが含まれています。
ってエラーでストップする。

543 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 00:00:40 ]
エラーメッセージ見れば一目瞭然だと思うんだが…
以前のDataGridTableStyleをDataGrid.TableStylesからRemoveするなり
追加済みDataGridTableStyleを直接いじるなり
テーブル名変えるなり

544 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 00:03:04 ]
ぐぐったのにここ見てないのん?
dobon.net/vb/dotnet/datagrid/columnwidth.html




545 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 00:06:01 ]
>>543
removeか、そんなのがあるのか、しらんかった。試してみる。
>>544
そこは一番最初に見た、理解できんかった。
とりあえずボタンを押すとそこに書いてあるコードを実行するform作ってビルドしたら、
一回目のボタンは正常に動くけど、2回目で追加情報〜含まれていますで止まるんだよね。

removeか・・・なんか行けそうな予感がしてきた。
明日やってみる。

546 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 00:16:30 ]
>539
やっぱそうですか。無理そうな気はしてました。
なぜかIISから上がるASP.NETのプロセスが\\?\が付いたパスで実行されてることがあるので気になったので。
\\?\から始まるパスでexeを叩いてアプリを起動するとApplication.StartupPathなんかが例外しか返らなくなる。
そうなると他にも危ないプロパティやメソッドが出てきてそれなら正しく扱う手段が知りたくて。本当に深いパスを扱うことはあんまり無いです。
パスっぽい文字列が出てきたら\\?\で始まってたら削る不毛な処理をひたすら入れておきます。

Application.StartupPathみたいに即座に例外が返るものはちょっとどうしようもないので、
.NETのクラスライブラリ内のメソッドとかで危ないものは
自分用にObsolete付けて迂闊に使ったら警告を出せるようにする手段はないかなぁとか思う。

547 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 10:47:58 ]
FxCopのカスタムルールで検出させるとか?

548 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 11:37:30 ]
FxCop で vb だけで絞りこんで表示させることってできない?
ちなみに当方 FxCop 1.36 Beta 2。

549 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 17:43:27 ]
パターン指向リファクタリング入門 P359 「コンストラクタの連鎖」を C# で試してみました。
すると「this」で、「メソッド名が必要です」と怒られます。
C# でコンストラタの連鎖を問題なく行うにはどうしたらよいでしょうか?

class Loan
{
  public Loan(float notional, float outstanding, int rating, DateTime expiry)
  {
    this(new TeamROC(), notional, outstanding, rating, expiry, null);
  }

  public Loan(float notional, float outstanding, int rating, DateTime expiry, DateTime maturity)
  {
    this(new RevolvingTeamROC(), notional, outstanding, rating, expiry, maturity);
  }

  public Loan
    (CapitalStrategy strategy, float notional, float outstanding, int rating, DateTime expiry, DateTime maturity)
  {
    m_strategy = strategy;
    m_notional = notional;
    m_outstanding = outstanding;
    m_rating = rating;
    m_expiry = expiry;
    m_maturity = maturity;
  }
}


550 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 17:51:39 ]
public Loan(float notional, float outstanding, int rating, DateTime expiry)
 : this(new TeamROC(), notional, outstanding, rating, expiry, null)
{
}

551 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 17:54:47 ]
>>549
C# 言語の仕様

10.10 インスタンス コンストラクタ
msdn.microsoft.com/library/ja/default.asp?url=/library/ja/csspec/html/vclrfcsharpspec_10_10.asp

552 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 22:54:31 ]
javaかよ。

553 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 20:16:50 ]
Silverlight2Beta来たね

554 名前:デフォルトの名無しさん [2008/03/07(金) 14:53:00 ]
struct A
{
 ...
}

A[] a = new A[10];

としたとき、a[3]のようにアクセスするときって、C++のメモリのようにa+sizeof(A)*3というようにCPUで乗算処理が発生しているんでしょうか?
だとしたら速度が必要なな部分では配列アクセスにするよりクラス参照のリストのようなかたちにしたほうがいいのでしょうか?



555 名前:デフォルトの名無しさん [2008/03/07(金) 15:10:33 ]
ここで聞いていいのかどうか分かりませんが、

3次元が固定、2時限目が動的、1次元が固定の配列を
作るにはどうしたらいいのでしょうか?

float[][,] farray=new [14][,4];

とやってもうまくいきません。
掲示板では見にくいのですが、
4の前には「 ,」カンマが入っています。



556 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 15:13:53 ]
>>554
プログラミングガイドの配列のところにはこう書いてある。

>配列型は、抽象基本型 Array から派生した参照型です。
>この型は IEnumerable と IEnumerable<(Of <(T>)>) を実装するので、C# のすべての配列で foreach 反復処理を使用できます。

だから気にしていることに限ってはどっちにしても変わらない。
と予想してみる。

557 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 15:20:19 ]
デリゲートに追加した匿名メソッドを指定して取り除く事って出来るかな?

558 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 15:20:49 ]
速さが必要ならそんなことよりもっとほかにやるべきことは沢山あるはずだし、
それをやり尽くした上で554のようなことまで気になるというのなら、
C#ではなく、アセンブリ言語とC++でどうにかすることを考えるべき段階。

故に
>>554
そんなこと気にするな。

559 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 15:21:11 ]
>>554
こういう文もあった。
>C# の配列はオブジェクトそのものであり、C や C++ の場合のように、単なるアドレス指定可能な連続メモリ領域ではありません。

>>555
次元に関係なく、要素を動的に変える配列は作れないよ。
List<>とかと組み合わせたりしないと。

560 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 15:22:19 ]
×次元に関係なく、要素を動的に変える配列は作れないよ。
○次元に関係なく、要素数を動的に変えられる配列は作れないよ。

561 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 15:25:56 ]
unsafeとfixedでCみたいな配列としても扱えるよ

562 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 15:45:47 ]
>>560
動的/静的は配列に対して使い方が難しいので可変長と言うべきだな

563 名前:デフォルトの名無しさん [2008/03/07(金) 16:19:34 ]
こんな形で使うのは初めてなので聞いてみたのですが、
思ったより難しいのですね。
C++ならそこまで難しくないと思ったのですが。


564 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 16:51:24 ]
C++で可変長配列とか、泥沼だろ。



565 名前:デフォルトの名無しさん [2008/03/07(金) 16:58:28 ]
float[] oned=new float[4];
oned[] twod;
twod[] threed=new float[14];

自分で考えてここまでやってのですがこれで正しく動作するか
わかりませんし処理効率がどうなるかは分かりません。
<vecto>とかboostみたいに上手いことできないでしょうか?


566 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 17:04:58 ]
>>565
おまいは自分で考えてここまで何をやってきたんだ

567 名前:デフォルトの名無しさん [2008/03/07(金) 17:15:16 ]
めんどくさいので
float[][][] threed=new float[14][][];
だけで後は自動に任せることにしました。
ありがとうございました。


568 名前:デフォルトの名無しさん [2008/03/07(金) 18:19:46 ]
と思ったのですが、Listのほうが用途に
合っていそうなので、そちらを使ってみることにします。


569 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 19:29:55 ]
先ずC#で何ができるか調べたほうがいい

570 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 20:22:35 ]
>>568
それは最初から「vector 相当のものはありますか?」と聞くべきだった。

571 名前:デフォルトの名無しさん [2008/03/07(金) 21:16:35 ]
>570
すいませんでした<(_ _)>


572 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 13:29:24 ]
ありがとうございます!

573 名前:デフォルトの名無しさん [2008/03/08(土) 14:14:48 ]
こうだくみこのおまんこにセロリいれたいな
みんなはなにいれたい?

574 名前:デフォルトの名無しさん [2008/03/08(土) 14:23:43 ]
585 名前:デフォルトの名無しさん[sage] 投稿日:2008/03/08(土) 14:20:47
yutori.2ch.net/test/read.cgi/news4vip/1204952244/

   1 名前:以下、名無しにかわりましてVIPがお送りします。[] 投稿日:2008/03/08(土) 13:57:24.68 ID:oVsMTN3J0
     次世代言語”D言語”を使ってプログラミングをしてみよう!
     C++で挫折した君も、プログラミング初心者の君も今日からプログラマーだ!

     D言語入門 www.geocities.jp/tor_park/Dlang/d2.html



575 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 14:28:28 ]
コピペ君って馬鹿だな、まで読んだ。

576 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 14:46:34 ]
コピペ君って馬鹿だな、まで読んだ。

577 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 14:49:07 ]
>>575-576
コピペしか能のない低脳は消えろ

578 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 14:52:32 ]
Dってまだ生きてたんだ
C#があればいらないのにね
まったく、無駄なことしてるよな

579 名前:デフォルトの名無しさん [2008/03/08(土) 15:03:23 ]
同感
早くバージョンが安定してVSに匹敵するIDEが出たら使ってやってもいいが
何年更新してるんだよ?

580 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 15:05:06 ]
まあVSのないC#なんか誰も使わないよな
ネイティブコードなんかよりはるかにそっちの方が重要

581 名前:デフォルトの名無しさん [2008/03/08(土) 15:27:34 ]
>555です。
しつこいですがリストを使ってもうまくいかなかったので
こうしてみました。

ArrayList data = new ArrayList(14);
data.Add(new ArrayList());
((ArrayList)data[0]).Add(new ArrayList());
((ArrayList)((ArrayList)data[0])[0]).Add(new float[4]);
((ArrayList)((ArrayList)data[0])[0])[0] = 1;

MessageBox.Show(((ArrayList)((ArrayList)data[0])[0])[0].ToString());

後は変数を使ってネストすればいいだけだと思います。
こうすれば何とかなるようです。

しかし、コードが長いのでなんとか短くしたいです。
typedefもないし、usingを使ってもうまくいきませんでした。
ArrayList以外にいい方法があれば教えてください。、
また、もっとコードを短くする方法があれば聞きたいです。




582 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 15:29:15 ]
ジェネリックのList<float>を使え

583 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 15:35:52 ]
>>581
var farray = new[] {
 new List<float[]>{new[]{1f,2f}},
 new List<float[]>{new[]{3f},new[]{4f}}
};

584 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 15:37:34 ]
List<T>



585 名前:デフォルトの名無しさん [2008/03/08(土) 16:05:20 ]
>583
くぐってみたのですがvarが使えません。
ufcpp.net/study/csharp/ap_ver3.html
ではC#3.0の機能と書いてあるので2005では使えないのかも?


586 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 17:35:56 ]
List<float[]>[] data = new List<float[]>[14];
for (int i = 0; i < data.Length; i++)
 data[i] = new List<float[]>(new float[][] { new float[4] });
C#2.0でもいけるはず

587 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 17:41:43 ]
List<float[]>[]とか設計間違ってるとしか思えんw

588 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 18:02:55 ]
数値計算ならアリ
業務アプリならナシ

589 名前:デフォルトの名無しさん [2008/03/08(土) 19:03:35 ]
>586
ありがとうございます。
その通りのことがしたかったんです。
>587
確かに2次元だけ動的って見たことないので
こういう設計でいいのか自信がありません。


590 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 20:54:24 ]
>585
2005はだめ。型推論してくれるだけなのでまじめに全部型を書けばいいんだよ。
varってコンパイラが何とかしてコンパイル後は対応した型になってるだけだと思ってる。
2008で.NETFramework2.0をターゲットにしてても普通に使えてるし。

591 名前:デフォルトの名無しさん [2008/03/08(土) 21:10:07 ]
>590
C#でメモリ管理にいきなりつまずき困っていたところ
助けていただいてありがとうございます。
またお世話になるかも知れませんのでその時は
またお願いします。




592 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 21:33:25 ]
>>589
計算なら仕方ない所だと思うぞ。
なんかいい形があるなら俺も知りたい。

593 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 21:43:10 ]
float[]のところはインデクサ付けたフィールド4つの型を定義して使うようにすれば
要素数が4のもの以外入れられなくできるしちょっと見通しも良くなるかな
パフォーマンスは劣るだろうけど

594 名前:デフォルトの名無しさん [2008/03/08(土) 22:20:28 ]
>593
人に見せるならそう書くかも知れませんね。
個人でパフォーマンスをちょっと追求してみたかったので
実験で試そうと思いした。




595 名前:デフォルトの名無しさん [2008/03/08(土) 22:20:50 ]
>594
思いました。


596 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 22:32:57 ]
実験で試そうと思いしたと思ったわけだな?


597 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 12:31:04 ]
ISOイメージファイルの中身をWinRARのように表示するプログラムを作りたいのですが、
中身のフォルダ構造を取得する方法がわかりません。
どのようにしたらフォルダ構造の表示を実現できるのでしょうか?
ご教示よろしくお願いします。

598 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 12:46:41 ]
iso9660の仕様を探して、それに従ってイメージファイルを解析

599 名前:デフォルトの名無しさん [2008/03/09(日) 13:04:14 ]
>596
そう思いした^^


600 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 13:21:53 ]
>>598
やはり解析するしかありませんか・・・。
ありがとうございました。地道に解析することにします。

601 名前:デフォルトの名無しさん [2008/03/09(日) 13:26:21 ]
>>597
souceforge.netとかで調べれば参考になるのもあるんじゃね?
sourceforge.net/projects/iso-creator-cs/
↑これなんかはISOイメージの解析じゃなくて、ファイル、フォルダからISOイメージを
つくるもんだけど、開発プラットフォームc#みたいだから、参考になるかもよ。

商用なら
www.componentsource.com/products/starburn-sdk/index.html
こういうコンポーネントもあるみたいだ。

602 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 13:30:34 ]
解析って、仕様どおりに読み込むだけじゃん。

603 名前:デフォルトの名無しさん [2008/03/09(日) 13:44:26 ]
>>602

仕様に基づいて読み込むって、それを解析っていうんでねーの?
仕様を独自に解析するとはだれもいっていないと思うが。

604 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 13:53:06 ]
あまり滅茶苦茶な日本語の使い方するなよ。



605 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 16:57:13 ]
>仕様に基づいて読み込むって、それを解析っていうんでねーの?
言わないだろ普通

606 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 17:01:22 ]
解析ってのは仕様書等がない状況でデータやプログラムそのものを調べることを指すんじゃないのか?

607 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 17:20:36 ]
一定間隔でSS取って保存するキャプチャソフト作ってみたんですが
CPU使用率が99%になるのは無限ループのせいですか?
一応スリープ入れてるんですが

608 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 17:34:42 ]
一定間隔ならループじゃなくてタイマ使え

609 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 18:29:40 ]
タイマでもCPU99%になるのは、、

610 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 18:31:00 ]
何ミリ秒おきのタイマだ?

611 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 18:31:07 ]
設計が悪いだけだろ屑

612 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 18:39:39 ]
1000

613 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 19:03:49 ]
キャプチャとって保存する部分が糞すぎるんじゃね
タイマを10秒おきとか100秒おきでやってもCPU99%になる?

614 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 19:07:59 ]
10秒とか100秒ならなりません



615 名前:598 mailto:sage [2008/03/09(日) 19:46:53 ]
>>602-606
まさかこういう流れになるとは思わなかった
特に深い意味は無かった
>>597にはその方が伝わると思った
不用意に誤用したことを、今は反省している

616 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 20:26:43 ]
sleepの引数にミリ秒単位じゃなくて秒単位のつもりの値渡してるとか?

617 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 20:28:56 ]
普通にSSとって保存する部分が思いだけだろjk

618 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 20:35:52 ]
すごい勢いで何百枚もSS保存してそう。同じファイルに

619 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 20:36:52 ]
自己解決しました
あるアプリケーションのSSを撮ってたんですが
そのアプリに問題があったみたいで
メモ帳なんかのSSで試してみたら普通にほぼ消費なく出来ました

620 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 01:20:45 ]
>そのアプリに問題があったみたいで

いやいやいや

621 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 01:59:46 ]
そのアプリがメモリを消費してたってことだろ

622 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 02:10:50 ]
メモリを消費・・・?

623 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 14:20:42 ]
いえ、有るゲームのSS撮るプログラムなんですが
プロセスにアクセスしたらなんかCPUを無駄に使うプロテクトみたいなのが有るみたいです

624 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 15:08:12 ]
wwwwwwwwww



625 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 15:09:59 ]
草生やしてないで人語で喋れよ。
猿じゃあるまい

626 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 21:54:41 ]
そんなのねえよw

627 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 01:33:40 ]
猿は草を生やせないと思うんだ

628 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 11:51:48 ]
何wwwwをwwwwいwwwwまwwwwさwwwらwwwwwwww
2chに何を求めてるんだか

629 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 12:12:58 ]
ウキー

630 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 14:46:45 ]
戦時中の治安維持法みたいなものですね。
賛成派が多数で、この恐ろしい法案が、今まで成立していないのが奇跡の状態です。
法案に賛成しているのは、途中に登場する自民党執行部や古賀派、公明党全員、民主党ほぼ全員です。
自民党・民主党で反対を表明していない議員は、執行部のいいなりになると思われます。
反対しているのは、最後に出てくる自民党系「真の人権擁護を考える懇談会」「伝統と創造の会」調べたつもりですが、議員の現在の考えが、賛成か反対か間違っていたら修正する予定です。
自民党への意見メールフォームmeyasu.jimin.or.jp/cgi-bin/jim...首相官邸メールフォームwww.kantei.go.jp/jp/forms/doku...自民党人権問題等調査会の太田誠一会長宛先 FAX03-3508-3832(U R L :www.otaseiichi.jp

631 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 14:58:43 ]
ウキー

632 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 14:59:05 ]
ウキー

633 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 14:59:47 ]
アホかwwwww

634 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 01:20:55 ]
否!



635 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 02:59:09 ]
こんなんじあC%#のほうが言い悪いか抜きにして初心者用と相談室のスレ2個あるから発展はあるな。VBなんか終わってるかんじ。
みなで盛り上がろうぜって漢字がまたくない


636 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 10:27:48 ]
日本語でおk

637 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 16:38:52 ]
VIPでやれ
ニコ厨氏ね

使い古されたセリフだが、真実である。

638 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 15:59:48 ]
ふらっとがあればこのスレも不要だな

639 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 09:54:08 ]
コンボボックスに

見た目 値
01:a 1
02:b 2
03:c 3

と入っているときに、
値が2の時に、02:bを選択状態にするにはどうすればいいでしょうか?
FindStringで02を指定しても見つからず、combobox.itemsをforeachで
回しても、object型から何にキャストすればよいか分からずでした・・・

640 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 09:59:18 ]
Value とかじゃなかったっけ

641 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 10:02:59 ]
自分で値入れてるのに何にキャストしていいかわからないってどういうこと?

642 名前:639 mailto:sage [2008/03/14(金) 10:08:04 ]
コンボボックスへのデータバインドは、VSのウィザードでTableAdapter任せで作って
ロジック部分のデータ操作はコードで書いてました。

型はToStringを試してみて、DataGridViewが入ってるのは分かったんですが・・・
値が取れません><

643 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 10:09:06 ]
>>639
ヒント

enum testEnum { あああ = 1, ししし = 2, つつつ = 3 }

comboBox1.Items.Add(testEnum.あああ);
comboBox1.Items.Add(testEnum.ししし);
comboBox1.Items.Add(testEnum.つつつ);

任意の値に設定するとき
comboBox1.SelectedItem = (testEnum)2;

644 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 10:12:03 ]
>>642
デバッガでcomboBox1.Items[0].GetType()を見てみれば?



645 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 10:13:17 ]
SelectedValueに2を設定すればOK.

646 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 10:28:39 ]
>>645のやり方でいけました!ありがとうございます

>>643
enum型は一度も使ったことがないので勉強してみます

>>644
GetTypeでは取れませんでしたが、ToStringで取得してみたら
謎ですが>>639の型が入ってました

647 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 22:58:30 ]
ふらっと池

648 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 23:51:25 ]
そのうち、フラットで話すべき話題と、このすれですべき話題をテンプレにでも書いといたほうがいいのかもしれない
「ふらっと」
PictureBoxを透過表示することってできますか?
「このすれ」
ExpressionTree、CodeDOM、DLRのASTでできることはどういう風に違うんですか?

649 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 17:21:46 ]
内容よりC#わかってるかどうかだろ

650 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 22:02:25 ]
Java上がりでC#やってる人に聞きたいんだけど、
C#やってたら、コード読んで流れ掴むくらいならできそうでしょうか?


651 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 22:06:10 ]
意味が分からん


652 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 22:11:50 ]
余程の馬鹿でなければ

653 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 22:17:30 ]
C#3.0は結構化けるけど

654 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 22:24:48 ]
javaの文法知らなくても流れくらい分かるだろ



655 名前:デフォルトの名無しさん [2008/03/15(土) 22:51:50 ]
C#2005のメニューから
プロジェクト->Windowsフォームの追加で
「MID親」
を選んで、MainでRunしています。
起動時に子フォームを勝手に起動しますがいったい
どこでやっているのでしょうか?
InitializeComponet()で勝手にShowNewFormを
やっているのだとは思いますがどのあたりなのか
さっぱり分かりません。
新しく追加で子フォームを作成したら自動でずらす処理も
邪魔なのでどこでやっているのか知りたいです。
ご存じの方、どうか教えてください。
新しく普通にフォームから作ったほうが早いというのは無しで。



656 名前:デフォルトの名無しさん [2008/03/15(土) 22:55:48 ]
すいません、起動時に勝手に子フォームが起動するのは、
こちらのミスでした。
勝手にずらす処理をやめさせる方法だけ教えてもらえない
でしょうか?


657 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 22:57:04 ]
>>650
わからなければjava上がりとはいえない

658 名前:デフォルトの名無しさん [2008/03/15(土) 23:50:35 ]
このスレの住人なら知っていますね、あの糞開発ツールのことを

・自分のプログラムのバグなのかコンパイラのバグなのかわからない
・他の仕事に応用できない糞開発ツールの独自世界を必死に学習している
・テキストエディタで書いたほうが効率的なのに糞UIツールを懸命に使っている

糞だけど、政治的な理由で無理やり使わされているんですよね
もういい加減、我慢するのはやめませんか?

・糞開発ツールを部下に押し付ける上司の命令は無視しましょう。
 上司は糞開発ツールが使われる実績を作ることであの会社のごきげんをとっているのです。
・あの糞開発ツール提供会社には「おたくの糞開発ツールは話にならない」と突き放しましょう。
 バグレポートなどしてはいけません。改善要求などもってのほかです。
 あの会社はあなたたちのことをテスター/モルモットとしか思っていません。
・あの会議で「糞開発ツールを使ったら生産性がxx%アップしました」
 なんて話が出たら力強く机を叩き、会議室を出ましょう。
 あの人たちは糞開発ツールをマンセーすることで立場を確保しているのです。

糞な開発ツールを糞だと言える、そんな当たり前の環境をみんなの力で取り戻しましょう。

659 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 23:53:18 ]
コピペ君って馬鹿だな、まで読んだ。

660 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 23:54:53 ]
>>659
死ね

661 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 15:12:24 ]
オーバーフローチェックコンテキスト(checked/unchecked)の状態で
処理を分岐させる方法を知ってる人いたら教えて

検証するタイミングはコンパイル時、実行時のどちらでもおk

662 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 15:49:01 ]
例外を捕捉すればいいんじゃないの

663 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 15:59:05 ]
それだと、例外が発生しない場合、checkedでオーバーフローがおきてないのか、
単にuncheckedなのか判断できなくね

664 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 16:03:54 ]
bool IsChecked {
  get {
    try {
      Convert.ToByte(0xffff);
      return false;
    }
    catch { return true; }
  }
}
馬鹿プロパティw



665 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 16:06:32 ]
わざとオーバーフローさせるぐらいしか思いつかんな。

666 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 16:44:45 ]
自分でchecked{}で括ってしまえばいい

667 名前:661 mailto:sage [2008/03/16(日) 17:17:46 ]
>>662-665
thx!
やはりオーバーフローさせてみるしかないのか

>>666
ILの生成をコンパイラ任せにするならそれでいいが
動的に生成しようとするとOPコード自体が違うので

668 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 17:19:42 ]
なんか適切じゃない場所で質問しちゃった気がするのでこっちでも

PerlとかRubyでゆーWWW::MechanizeみたいなスクレイパってC#に存在する?
それとDB使ったツールを作って配布したいんだけど、PerlとかRubyだと一般ユーザに使ってもらえないので…
Rubyで一旦全部書いたんだけどexerbとかrubyscript2exeとか使ってもうまく纏められないのでC#(or その他普通にネイティブコンパイルする言語)で書き直したいんだけど…

669 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 17:20:41 ]
泥臭いのに変わりはないが、適当な関数のIL覗けばいいんじゃね?

670 名前:661 mailto:sage [2008/03/16(日) 18:22:19 ]
IL見てみたが、コンパイラがコンパイル時に数値式のOPコードを切り替えてるだけで
checked/uncheckedブロック、演算子内に直接書いた式にのみ適用されるみたい

だから、>>664みたいなプロパティを作るとコンパイルされた時点で出力が確定してしまう

結論としては、checked/uncheckedはコンパイラに指示するためだけのもので
プログラムで利用しようなどと考えてはいけないということか

671 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 18:36:31 ]
そもそもchecked/uncheckedはコンパイル時に静的に決まるものだろ

672 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 18:41:50 ]
#if CHECKED
なんとか
#else
ができればいいんだろ

673 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 19:22:05 ]
コード中で分岐することに意味があるのはコンパイラのオプションで指定した場合のみってことか
checkedのときはプリプロセッサシンボル定義するだけでよくね?

674 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 19:30:23 ]
プリプロセッサとchecked/uncheckedの処理段階が違うのは気持ちが悪いけどな



675 名前:デフォルトの名無しさん [2008/03/16(日) 19:38:38 ]
印刷を監視して、何かのプログラムで印刷実行されたらジョブをプリンタに投げる前に
自分で作った処理を行って、それが終了してから
印刷ジョブを投げるプログラム作成したいんですけど
印刷監視とジョブ投げるのにwaitかけるのってどうすればいいんですか?

676 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 19:50:03 ]
仮想プリンタを作って間に挟むのが
まっとうじゃないかな。

677 名前:デフォルトの名無しさん [2008/03/16(日) 21:07:31 ]
iPhoneのタイマーみたいな慣性で回るドラムを2個まわして
数値を出力させるにはどう考えたらいい?
WM6pro用で教えてください。


678 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 21:14:32 ]
そういう風に作る
WM6proがどう関係あるんだろう

679 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 22:25:05 ]
WebBrowserコントロールの設定は、現在のIEと同じ設定になるっぽいけど、
独立して管理することは可能っすか?

680 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 22:42:17 ]
俺なら可能

681 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 23:53:49 ]
オマイラってそんなにIL覗いて挙動確認したりしてんの?
俺全然やってないんだが

682 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 00:00:00 ]
ILの日本語の資料ってネットで見れるの?

683 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 00:03:01 ]
別に日本語である必要性はないと思うのだが

684 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 00:04:53 ]
必要性はなくても、日本語の方が望ましい



685 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 00:08:58 ]
共通言語基盤の規格はJISにもなってるからネットで読めるんじゃね?
調べたことないけど

686 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 00:48:03 ]
IL見るのになぜ日本語が必要になるのやら

687 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 00:51:31 ]
日本語を主として使っている民族とっては、ILの説明が日本語でされていた方が他の言語でされているよりも理解しやすいから。

688 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 01:07:51 ]
ILは流れを読むのだから英語でいいでしょう

689 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 01:10:03 ]
個々のILのニーモニックの説明は英語より日本語の方が日本人には理解しやすいだろう。

690 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 01:11:58 ]
ニーモニック(記憶しやすい)を記憶しやすいのは
その命名元となった英語という気もする。

691 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 01:13:57 ]
記憶する以前に理解するには、日本人にとっては英語よりも日本語の方が理解しやすい。

692 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 01:21:11 ]
何この流れ・・・

693 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 07:03:19 ]
ニーモニックの説明で日本語お望みなら

System.Reflection.Emit.OpCodes

あたりでもどうぞ。JIS の CLI は有料でしょ確か


694 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 09:16:46 ]
JIS規格はjiscのサイトでみれる



695 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 09:55:46 ]
そいや、ILはVSで対応してないのはいいにしてもMSBuildのタスクも
ないのはどうよと思ったなあ前

696 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 22:34:40 ]
>>683
英語読めないから、日本語のが必要なんです。

697 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 23:26:25 ]
ふらっとでレスが付かなかったので、教えてください。
SQLServerからsmallint型のレコードを取得してC#でint型の変数に入れたいのですが
キャストで失敗します。smallint型はshortと同じじゃないのでしょうか?

698 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 23:32:14 ]
>>697
失敗って?

699 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 23:33:41 ]
実際shortなんだったら一旦shortにキャストしてからintにキャスト

700 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 23:42:39 ]
会社にしか環境が無いので、エラーの詳細記録してなかったのですが、
型変換できませんでした。的なエラーでした。
もちろん(short)してから(int)でいけますが、アップキャストでなぜ失敗するのか・・・が知りたいと思いました


701 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 23:46:30 ]
正確な方は SqlInt16、
short へのキャスト演算子の定義はあるけど、int へのキャストは定義されてない

とかではなかろうか。

702 名前:697 mailto:sage [2008/03/18(火) 00:02:58 ]
>>701
MSDN参照してもよく分からないのですが、おそらくそのように思えますので、
そういうものだと、納得しておきますf^^

703 名前:デフォルトの名無しさん [2008/03/18(火) 00:03:27 ]
PrintDocumentクラスのPrintメソッドで
印刷処理を作っています。

しかし、印刷を実行するとVB6やDelphiで作成した
印刷処理よりも異常に遅いのが気になりました。
描画を一切行わず、白紙を1ページ印刷した場合
VB6では一瞬で印刷を開始しますが、C#では5秒以上待たされます。

100ページ以上の印刷を行いたいので、この速度では
ちょっと使い物にならないので困っております。
速度改善の情報ありましたら教えていただけませんでしょうか。。

704 名前:デフォルトの名無しさん [2008/03/18(火) 00:19:22 ]
www.rossgals.com/fuckfacials/barbie2-489/3.mpg



705 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 00:21:39 ]
突然怪しいURLを貼るなwww

706 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 00:23:13 ]
なんじゃこりゃww量すごすぎww

707 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 00:38:25 ]
>>703
軽く調べたけど、解決策は見つからなかった。そもそも再現性が(ry
とりあえずプロファイルして何が遅いか見極めてくれ。

708 名前:703 mailto:sage [2008/03/18(火) 00:46:13 ]
>>707
ありがとうございます。

プロファイルのやり方がわからないのですが
調べてやってみようと思います。

今、調べられる範囲でわかったことは
プリンタの解像度を下げることである程度
体感速度が速くなる、逆に解像度を上げるとさらに遅くなることです。

709 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 00:10:00 ]
ちょっとすみません。mlang.idl を midl しようとしたんですが、途中で

midl\oleaut32.dll : error MIDL2020 : error generating type library : SaveAllChanges Failed : .\mlang.tlb (0x80070005)

と出て終了します。原因わかるかたいらっしゃいますか?

710 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 00:19:45 ]
しまった UAC だー! 自己解決すみませぬ。

711 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 01:17:43 ]
すみません。続けてもうひとつ。マーシャリングの質問なのですが、

void DetectInputCodepage(
    uint dwFlag,
    uint dwPrefWinCodePage,
    ref sbyte pSrcStr, // ここと
    ref int pcSrcSize,
    ref tagDetectEncodingInfo lpEncoding, // ここに
    ref int pnScores
);

どうやって short[] と tagDetectEncodingInfo[] を突っ込んだらいいのか、だれか教えてください。

712 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 01:47:07 ]
>>711
dobon.net/vb/dotnet/string/detectcode.html

713 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 01:50:00 ]
>>712
それそのままコピペしてるんだけどね、

ref sbyts[0]

ここで引っかかる。

714 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 01:55:05 ]
ん? 通った。なぜだ。



715 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 09:14:07 ]
配列そのまま仮引数に定義するのお勧め

716 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 19:08:03 ]
ListやStackの中身をusingでdisposeさせるにはどうすればいいの?

717 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 19:14:20 ]
継承してIDisposeableを実装すればいいんじゃねえの

718 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 19:14:45 ]
ListとIDisposableを継承して、Disposeで要素を全部Disposeするクラスを作る。

719 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 20:23:08 ]
using使いたいだけならIEnumerable<T> (where T : IDisposable) をラップするクラスを作って
using (DisposableCollection<Bitmap> a = new DisposableCollection<Bitmap>(list))とか

720 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 20:53:15 ]
static void Using<T>(T collection, Action<T> action) where T : IEnumerable {
 try { action(collection); }
 finally {
  foreach (var item in collection) {
   IDisposable disposable = item as IDisposable;
   if (disposable != null) { disposable.Dispose(); } } } }
usingの代わりにこんなの使えばいいんじゃね

721 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 21:01:24 ]
どうもやってみます。

722 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 21:03:46 ]
.net 3.5(たぶん下位でも発生?)

コンソールアプリで sysem.drawing.bitmap をストリームにシリアライズするときに
GDI+の一般エラー(General error?)が発生する

同様の現象にブチあたった経験者はおらぬか?

723 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 21:20:30 ]
Bitmapはネイティブなオブジェクトがあるからシリアライズ不可能じゃないかな

724 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 21:31:09 ]
いや,これまでは出来たんだ
きっとこれからも出来ると信じたい

そしてなんとなく原因発見

BinaryFormatter bf = new BinaryFormatter();
FileStream fs = new FileStream(@"C:\WINDOWS\迴育栖繧ォ繝繝.bmp", FileMode.Open);
MemoryStream ms1 = new MemoryStream(), ms2 = new MemoryStream();
Image img = Image.FromStream(fs);
bf.Serialize(ms1, img); // 成功(例外なし)
fs.Close();
bf.Serialize(ms2, img); // 失敗(ExternalError: GDI+ で汎用エラーが発生しました。)

どうもImageの元のリソースが,シリアライズするときに利用できなくなっていると失敗するみたい?
なんか非常にモヤっとするなぁ

引き続き情報求む




725 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 21:53:52 ]
よくみる where T ってのはLINQってやつかい?

726 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 21:55:52 ]
ただのジェネリック引数の制約だよ。

727 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:10:38 ]
where T つかうと他クラスの継承できなくなる?方法ない?

728 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:13:52 ]
なにゆってんの?

729 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:14:30 ]
よく意味が分からんけど
where T はTに対して特定の型に依存した操作を可能にするために使うんだよ

730 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:20:58 ]
where Tを使ったクラスを継承したいなら
その制約を継承先のクラスにも付ける

class Base<T> where T : string{}

class Derived<T> : Base<T> where T : string{}

731 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:42:02 ]
まったくどうでもいいがstringで制約したらもはやジェネリックの意味なくね?

732 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:45:08 ]
>>724
Bitmapはそのままだとアンマネージドリソースを含むのでシリアライズできない
だがStreamから作ったBitmapならそれを使ってシリアライズすることで目的を達成できる
しかしそのStreamが閉じてればもうシリアライズできない

733 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 23:27:28 ]
>>724
var stream = new FileStream("foo.jpg", FileMode.Open);
var image = Image.FromStream(stream);
image.Save("bar1.png");
stream.Close();
image.Save("bar2.png"); // die

734 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 23:55:28 ]
>>732
すごく,わかりました.

>>733
試したためした,そしてその通り

ひとまずbyte[]にシリアル化したものを記憶しておくことにした



735 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 18:09:24 ]
クラスのメンバ関数のようなスコープがはっきりしないものをusingで解放するにはどうすればいいの?

736 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 19:21:54 ]
メンバ関数じゃなくてインスタンス変数だと仮定して
自分のクラスにIDisposableを実装する
usingはそのクラスを外から使う人が使うもの

737 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 22:29:23 ]
DictionaryBaseのGeneric版って何?


738 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 22:42:14 ]
例外は受け取ったらいけないの?

739 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 23:05:44 ]
処理できる例外は捕まえて処理する
そうでなければスルー

740 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 23:11:34 ]
受け取ってメッセージボックス出して終わるくらいなら
標準の例外ダイアログがましだけどねw

741 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 23:25:01 ]
製品にするならそうもいってられないけどな

742 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 12:08:44 ]
>>737
無い
KeyedDictionary<TKey, TValue>が使えそうなら使う
使えないなら自分で作る

743 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 12:11:35 ]
KeyedCollection<TKey, TItem>の間違い

744 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 19:25:07 ]
ListViewの詳細表示で、棒グラフを表示したくて
直接セルに描画していたんですけど、汎用性を持たせたくて
Panelに描画してそのPanelを表示したいと思ったんですが
ListViewにPanelを挿入する方法が分かりません

SubItems.Addで追加できるのは文字列だけですし
どのようにすればPanelなどのコントロールをListViewに
挿入することができるでしょうか?



745 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 19:33:28 ]
どのようにしてもできまへん。

っていうか、Panelに描画する(そしてそれをListViewに突っ込む)のが
汎用的って発想がよくわからない。

汎用的にしたいのならListViewの項目を描画する機能をクラス化するか、
またはListView自体を継承して拡張するとか、そっちの方向じゃないの?

746 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 19:37:34 ]
CodeProjectにそういうのある。
一からListView作ってた。

747 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 19:44:33 ]
C#のListViewの使えなさはガチ

Swingにも劣るヘボさだからなぁ
項目ごとの文字色を変える程度のことさえ面倒
いったいどういう用途を想定してこんなクソ仕様にしたのか

748 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 20:15:08 ]
コモンコントロールそのものだもの

749 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 20:35:18 ]
WPFのListViewは何でもありのアホみたいに柔軟なコントロールになってるよ

750 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 20:58:42 ]
>>745
やっぱり駄目ですか
でもよく見かけるプログレスバーが表示されたListViewは
どうやって実装してるんでしょう
何か出来る方法がありそうな気もしますが

>>746
一から作るのはちょっと厳しいですね・・・

751 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 21:41:09 ]
>>742
ありがとう。
自作するよ。

752 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 00:26:31 ]
>>747
>項目ごとの文字色を変える程度のことさえ面倒

簡単だと思うけど…
どうやってやってるの?


753 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 06:57:31 ]
>>750
ListViewだとしたらOwnerDrawなんじゃない。

超汎用的なリストコントロール作った。
めんどくさかった(´・ω・`)

でもこれで10万行ぐらいあっても、どんな描画だとしても表示できるようになったお。

754 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 07:23:43 ]
俺も752と同意見だったけど、MFC知らないからMFCだともっと楽なのかなあと思って何も言わなかった
ListViewItem.UseItemStyleForSubItems
ListViewItem.ForeColor
ListViewItem.SubItems[index].ForeColor

UseItemStyleForSubItems
をtrueにすると、
全てのSubItems.ForeColorを設定する必要があったような気がするから
それが面倒といえば面倒だったけど。



755 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 07:59:46 ]
C#でSafariみたいにきれいに文字を表示するのってどうしたらいいんだしょ。
アンチエイリアスかければきれいになるとですか?

756 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 08:10:04 ]
言語とは無関係だと思うけど
WPF使えば良いよ

757 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 08:13:08 ]
Formでお願いします。


758 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 08:22:42 ]
>>752
でもListViewって特定環境で色が消えたりする類のバグが満載だから
そのままでは使い物にならないと思った記憶がある。

759 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 14:35:43 ]
そもそもWPFだろうがFormだろうがクラス名だけ置換して同じコード書けば
内部で使うAPIだけひっそり入れ替わるのがクラスライブラリ設計として当然じゃないのか?
何回も作っては捨て繰り返して作った奴は馬鹿なのか?

760 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 14:48:59 ]
>>755
フォントをClearTypeが効くものに変えるとか
実際より大きく描画して縮小するとか

761 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 18:58:44 ]
>>759
日本語書けよ

762 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 19:04:10 ]
すごーく正論では

763 名前:デフォルトの名無しさん [2008/03/27(木) 19:06:23 ]
再利用可能なコードなんか幻想だろw

764 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 19:50:12 ]
インターフェースがクソだったら書き直すしかないだろ



765 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 19:52:31 ]
VB SQL
ODBC Direct
OLE DB
DAO
RDO
ADO
ADO+
WindowsDNA
MSDE
ADO.NET 1.0
ADO.NET 1.1
ADO.NET 2.0
LINQ


766 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 21:16:28 ]
>>750
リストビューの子としてプログレスバー作るとか。

767 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 23:54:29 ]
英語だと C sharp って読むの?

768 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 00:32:18 ]
yes

769 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 14:20:32 ]
>>761
てきざいてきしょ

770 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 00:20:51 ]
VS9.0インスコした人に確認してもらいたい
↓のファイルのコメントが前衛的なことになってるんだけど、どうなってる?

C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\
ProjectTemplatesCache\CSharp\Reporting\1041\ReportApplication.zip\Form1.Designer.cs

因みに、手元の環境のエディションはPro.

771 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 00:29:51 ]
見たけど特に何も思わなかったが

772 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 01:13:30 ]
特にどうということもないな

773 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 01:14:35 ]
そんなばすはないだろう。

774 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 20:28:55 ]
ローカルのハードディスクにあるファイルをUSBメモリにコピーしておのおののファイルについてGetLastWriteTimeを見ると2秒ほどずれてるんですが、なぜなんでしょう?
エクスプローラでファイルのプロパティで更新日時を見てもやはり2秒ほどずれています。おそらく同じ値を見ていると思います。
ローカルからローカルにコピーした場合は発生しません。



775 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 20:30:58 ]
NTFSとFATとかじゃね

776 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 20:33:34 ]
USBメモリで使ってるFATって更新時間の最小単位が2秒なんだったっけ?

777 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 20:37:21 ]
そう。2秒。

778 名前:774 mailto:sage [2008/03/31(月) 20:47:38 ]
ローカルはNTFS、USBはFAT32ですが、上に上がってるのでビンゴくさそうすかね・・・

779 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 11:29:09 ]
自分で OnPaint メソッドをオーバーライドしたコントロールを作ってるのですが、質問です。
OnPaint メソッドの中で線の太さを指定して引いているのですが、AutoScaleMode でサイズが変わった場合
線の太さはどういう風に決めたら良いと思いますか?
今は決め打ちで 2 にしていますが、線の太さも自動でスケーリングしたいのので
自動スケーリングの倍率を取得する AutoScaleSize みたいなプロパティってないですかね。


780 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 11:42:13 ]
>>779
自己レス。解決しました。
AutoScaleMode プロパティが変更されると、ScaleControl メソッドが呼ばれる。
ScaleControl メソッドをオーバーライドすると factor が来るので、これが倍率。

781 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 20:10:38 ]
共有メモリの話題になりますが、
MapViewOfFileで得たIntPtrをStreamにアダプトする方法はありませんか?
byte*にキャストしてよいみたいですが、そこからが分かりません。

782 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 20:22:47 ]
UnmanagedMemoryStream

783 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 21:09:24 ]
>>782
これは、これ以外にないといえるようなStreamですね。
明日さっそく試したいと思います。ありがとうございました。

784 名前:デフォルトの名無しさん [2008/04/04(金) 10:08:31 ]
質問です。

各テーブルごとにテーブルクラスを作成し、

データの受け渡し受け取りには、テーブルクラス.レコードを定義して使用しています。


各テーブルクラスの違いは、

レコードクラスの違いくらいなので、
(実際には、レコードクラスの違いにより処理内部にも違いは出ているのですが、
ロジックは同じということです。)

同じ処理を書いて、あまりステップ数を膨らませるのは嫌なのですが、

何かよい方法はないでしょうか?



785 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 10:25:03 ]
データセットデザイナを使う

786 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 22:10:30 ]
>>770
自分の所も正常に見えます

787 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 23:30:46 ]
>>784
日本語でおk






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<174KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef