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


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

C#, C♯, C#相談室 Part58



1 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 21:35:10 ]
(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。

前スレ 
C#, C♯, C#相談室 Part55 (実質56)
pc12.2ch.net/test/read.cgi/tech/1260111240/

Visual C# 2008 Express Edition 日本語版
www.microsoft.com/japan/msdn/vstudio/express/vcsharp/

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

577 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 12:34:27 ]
あるクラスを継承してメンバ関数だけオーバーライドして使いたい場合
元のクラスで扱っても大丈夫でしたっけ?

578 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 12:36:13 ]
>元のクラスで扱っても大丈夫でしたっけ?
インスタンスを作った後も元のクラスで扱っても大丈夫でしたっけ?

579 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 12:38:51 ]
元のクラスで扱うってのはどういうことなんだ?
継承元のクラスにキャストするとかそういうこと?

580 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 12:41:53 ]
>>579
ゲームの中にでてくる物体(障害物、自機、敵など)はすべて座標系など特定の
情報を持つという部分では共通ですが、動きだけが違うので管理上は継承前の
クラスで管理して、動きに関連するメンバ関数だけを差し替えを実現したい・・
という感じです

581 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 12:46:35 ]
オーバーライドしなくてもいいんじゃないか?
継承先で個別に実装すれば

100%書き換えることが前提になってる感じだからむしろIFとかにしてみるとか・・・
いや・・・いろいろ方法はあると思うが 継承元で関数書いてもどうせ空の実装とかにしかならんだろうし
オーバーライドしなけりゃ元の動作のまんまになってしまうのはバグの元だと思うんだ・・・

582 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 12:47:23 ]
>>580
普通にできるが

583 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 12:49:39 ]
>>581
むかーしgcc上で書いた物を移植中なので.netなりの方法はないかなあと模索してたりします。
C時代は関数ポインタのテーブルを用意して・・・とかやってたんですけどね

>>582
どんな感じでやればいいですかね?

584 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 12:54:08 ]
>>583
いやだから基本クラスで動き意外の関数作って
継承したクラスで新しく動きの関数作ればいいだけだけど
何が問題なの?

585 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 12:58:17 ]
class 物体
{
public void 動き以外の処理(){}
}

class 自機:物体
{
 public void 動きの処理(){}
}



586 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 12:58:27 ]
>>584
Hogeクラスを継承したHogeA,HogeB・・・・・HogeZとかあったとして
管理はList<Hoge>として全体をまとめたいんです・・

587 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 12:58:42 ]
抽象クラス使えば?

588 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 13:03:24 ]
>>586
>>573

589 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 13:13:10 ]
関数ポインタ使っていたなら、そのまま構造体を抽象クラスにして、関数ポインタを仮想関数にしたら、完成のように思うが。

590 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 14:47:22 ]
>>577
やってみたらいいのに何でわざわざ面倒な手順を踏んでるんだ?

591 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 15:27:18 ]
まあvirtualでググればいいんじゃないかな!かな!
>>577

592 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 18:20:03 ]
模索している割には他の提案を聞き入れようとしない件について

もし判ってないならそれは技術力不足以外の何物でもないな

593 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 18:47:36 ]
>>592
聞き入れないわけではなく聞いた上で調べた結果実装を考えた際に
こういう時どうしようとか悩んでるわけなんですよ

たとえばクラスを継承してインスタンスを作る際は確かに一つの
メンバ関数をオーバーライドですれば済みますが状態がわかった際に
インスタンス化されてしまってるクラスのメンバ関数を状態遷移に応じて
さらにオーバーライドできるかとか

できないなら、昔書いたように関数ポインタもどきを実装するしかないのだろうかとか

でもクラスに関数ポインタぽいことを実装すると関数ポインタのテーブルを
もったインスタンスがいっぱいできる?・・・とか

594 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 18:48:18 ]
>状態がわかった際に
この記述は無しで

595 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 18:57:23 ]
>>593
デリゲート



596 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 19:00:03 ]
頭の中が混乱してるみたいですね。
デザインパターンのテンプレートメソッドとストラテジーあたりを勉強するといいかも。

理解できないならIF文で押し切れw

597 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 20:05:06 ]
以下のようなメソッドを用意して、データをネットワーク越しに通信するプログラムを書いています。

private byte[] CompressBytes(object rawData)
{
  using (MemoryStream stream = new MemoryStream())
  {
    using (DeflateStream compressedStream = new DeflateStream(stream, CompressionMode.Compress, true))
    {
      BinaryFormatter formatter = new BinaryFormatter();
      formatter.Serialize(compressedStream, rawData);
    }
    return stream.ToArray();
  }
}

598 名前:597 mailto:sage [2010/04/28(水) 20:06:16 ]
private object DecompressBytes(byte[] compressedData)
{
  using (MemoryStream stream = new MemoryStream(compressedData))
  {
    using (DeflateStream decompressedStream = new DeflateStream(stream, CompressionMode.Decompress))
    {
      BinaryFormatter formatter = new BinaryFormatter();
      return formatter.Deserialize(decompressedStream);
    }
  }
}

単一のプログラムでテストする場合は問題なく動作するのですが、
クライアント・サーバのプログラムにそれぞれメソッドを組み込んで通信をしていると、
return formatter.Deserialize(decompressedStream);
の部分で、「デコード中に無効なデータが見つかりました。」というエラーが出ます。

具体的にはNetwork Streamに対してbyte配列を書き込み、
相手側で読み出すという作業をしているだけなのですが、ローカルとネットワークの場合で挙動が変わるのかよくわかりません。
# ネットワーク越しといっても、サーバプログラムで127.0.0.1に対してポートを開いて、クライアントプログラムで127.0.01にアクセスしているので、マシンスペックに違いは無いはずなのですが…

もし何か注意することがあれば教えていただけないでしょうか?

599 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 20:10:35 ]
www.sherwooddungeon.com/SherwoodDungeon.htm
こんな3Dネトゲが4M程度で実現できてるんだけど
C#でやるにはwebdeveloperとかsilverlightが必要?

600 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 20:14:07 ]
俺的に3Dゲームはudkやsource modを使うのが一番現実的だと結論付けた

601 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 20:22:13 ]
>>599
inしてみたが週末Flashスレで貼られる戦車のゲームとエリア規模は似てるな
まあ4MBってのも圧縮した状態だと小さくなるしなあ

602 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 20:26:47 ]
気軽に対戦ゲーム作りたくてもサーバーが難しいよね

603 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 20:32:16 ]
↓ここで簡単厨のターン

604 名前:デフォルトの名無しさん [2010/04/28(水) 21:17:01 ]
まぁ俺にかかったら1日で何でもできるけどね

605 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 22:22:27 ]
>>598
そのエラーが出てるとこのデータの中身はどうなってるんだ?
ちゃんと送りつけた時と一緒になってるか?
まずはそこからだ



606 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 22:30:49 ]
>>602
ほとんどのレンタルサーバーはゲーム禁止だからな
ATPAGESではOKだが、負荷をかけすぎるとアカウント自体止められる

607 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 22:34:13 ]
>>583
abstract class foo
{
 foo(){}
 abstract bar(){}
}
class xxx : foo
{
 override bar(){}
}
とやって、xxxのインスタンスをList<foo>にでも突っ込めばいける

608 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 22:36:24 ]
あと、遷移ごとにfooを継承したクラスを作って突っ込めばいい
詳しくResponserパターンでくぐってみろ

609 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 22:45:58 ]
デザインパターンなんてみんな覚えてるの?

610 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 23:24:35 ]
>>609
そりゃデザパタから入った人は「覚える」って意識になるんだろな。


611 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 23:46:55 ]
趣味で一人でプログラミングするなら、無理にオブジェクト指向を意識する必要はないけどな。
下手にクラス設計に凝るくらいなら、ひたすらstaticでプログラム組んだ方がましだと思う。
どうせ誰かにソースを見せたり、過去の資産を利用したり、誰かから仕様変更を言い渡されたりはしないんだろ。

612 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 23:48:17 ]
>>611
妄想で語るな

613 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 23:51:44 ]
いや、正しい

614 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 23:55:35 ]
いや、過程に過ぎない
つまり妄想

615 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 23:58:52 ]
構造体の配列で回して、キャラのタイプIDでswitchしまくりで別に問題ない



616 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 00:10:33 ]
趣味なら作ってて楽しければいいし、どんなソースでも動けばいいんだよ。

617 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 00:12:40 ]
正解

618 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 00:39:40 ]
うん。
でもね、べつにクラス設計とかって伊達で導入されてるわけじゃないんだけどな。
規模が大きくならないとあんまり意味がないってことなら同意だけど。

619 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 01:19:21 ]
>>616
動いたけどsbyteで済むようなただのフラグ用の変数すらintで書いていて起動しただけで10MB超のメモリを食ったのは恥ずかしい経験w
やっていくうちに分かるってのはあるが、どんなソースでもとかいう気持ちだといつまで経っても向上しないような気はする。

620 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 01:38:49 ]
まあ目的と手段を間違えないことだな

621 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 01:41:56 ]
ゲームの場合オブジェクト指向が有効そうにみえるんだが
案外そうでもなかったりするんだよな・・・
もうちょっといい方法があればいいんだが

622 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 01:56:24 ]
>>598
受信途中のデータの後ろが欠けてるんじゃない?
MemoryStreamじゃなくて、直接NetworkStream渡せば?

623 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 13:22:01 ]
>>620
それはあるねー。
もっとも趣味プログラマの場合、楽しく正しく書くってのも目的に入ってる人は多いんじゃね?


624 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 15:04:41 ]
WPFやっててバインディングがものすごくよかったんだけど
WinFormでも同じようなことできましたっけ?

625 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 15:12:13 ]
バインディングの仕組み自体は似たようなもんだけどUIが貧弱なんだよ
コレクションへのDataTemplateを使ったバインディングのようなことをやろうとすると大量のコードが必要になる



626 名前:624 mailto:sage [2010/04/29(木) 15:19:16 ]
>>625
そうなんですか・・・
残念

627 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 15:23:23 ]
>>623
プログラムのプロをプロフェッショナルとかけたダジャレで
昭和生まれは素人プログラマのことをアマグラマって言うんだぜ

628 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 15:24:38 ]
>>625
WPFだとTreeNode.TagにList<>なんかが入ってても
簡単に取得できるの?

629 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 15:26:28 ]
WPFではTreeNodeみたいなのは直接扱わないんだよ
元々ツリー上になってるオブジェクトグラフからバインディングだけでノードを生成する

630 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 15:28:44 ]
>>628
WPFのサンプルみた感じだとTreeNodeじゃなくてツリーを形成するための
クラスを自分で作ってTreeViewにぶっこめば勝手に表示してくれてたな

631 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 15:35:31 ]
C#で作られたものをWPFに移植しようとしたら
また1から作り直し?

632 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 15:37:38 ]
>>631
WinForm依存のデータ格納クラスはそうなるかも
でも最初から依存をなるべく避けたコード書いてればそれほど問題にならない

633 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 15:37:39 ]
ロジックからコントロールを直接触ったりするような馬鹿な造りにしていなければ修正はUIまわりだけ

634 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 15:38:01 ]
>>630
ほー
今メニューの項目をそのままTreeViewに表示しようとしているんだけど
激しく面倒くさい

635 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 15:50:17 ]
ツリービューの項目にボタンを付けてボタンの上にhoge.ImageUriプロパティの値をバインドしてアイコンを表示して
アイコンの右にhoge.Nameプロパティをバインドしてテキストを表示して
子プロパティとしてhoge.Childrenプロパティをバインドして再帰的に展開して…
みたいなことがXAMLだけでできる



636 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 15:52:11 ]
とにかくすごいわ

C++からC#でかなり楽になったけどさらにWPFで楽できそうな感じ

637 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 15:53:22 ]
MSはWinFormよりWPFに力入れてるの?
おれもやってみようかな

638 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 15:55:40 ]
WinFormsは完成放置状態
Silverlightに力入れててWPFはそれに合わせてる感じ

639 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 16:42:59 ]
2008expressはもうダウンロード出来ないのかよ

640 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 16:47:07 ]
www.microsoft.com/downloads/details.aspx?FamilyID=94de806b-e1a1-4282-abc5-1f7347782553&displaylang=ja
これISOかな?

641 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 17:22:18 ]
銀光はApacheとかがMIMEタイプを標準で持つようにならないと普及しないと思う
窓鯖でもIIS7でないと標準で対応してないのがもうね
これ、意外と高い壁だよ

642 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 17:26:31 ]
>>641
おいおい
.netにはおさるさんがあるじゃなか
銀光とセットで月光あるしLinux上で.net動くぞ
完全互換とは言いがたいが

643 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 18:05:26 ]
WinFormで出来てWPFでできないことって何?

644 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 18:21:38 ]
>>643
wndprocのフック
コモンコントロールがないに等しいので自作しないといけない

645 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 18:27:08 ]
お客さんに売り込み辛いんだよな、WPF・・・




646 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 18:29:15 ]
短期納品、コストさげろ

これって生産性あげろってことなのにWPFだめって言われるとねえ・・・

647 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 18:31:14 ]
WPFって実際生産性高いのか
xamlが手間かかりそうなんだけど

648 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 18:32:18 ]
最近コンソールとかサーバーサイドばっかりで、UIのあるアプリ作ってないなぁ。

649 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 18:34:49 ]
>>647
なれるまでが面倒かな
XAMLその物はHTMLでwebページ作成するような感じなので
慣れが必要かなあ

650 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 19:00:35 ]
>>641
MIMEタイプが問題になるのはSilverlightより、WPF/XBAPやClickOnceだな。


651 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 19:07:54 ]
htmlはコード見ただけで拒絶反応

652 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 19:08:36 ]
ルーズXAML
application/xaml+xml
XBAP
application/x-ms-xbap
ClickOnce
application/x-ms-application

このくらいかな。IEは無くても処理してくれるが、firefoxの.NET Assistantアドオンを使う場合に必要。


653 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 19:12:43 ]
.htaccessをいじらせてもらえなくても、perlは使えるところが多いので、
こんな感じで無理やり対応できる。
#!/usr/local/bin/perl
# -- hoge.cgi --
print "Content-type: application/xaml+xml\r\n";
print "\r\n";
open(INF,"<hoge.xaml");
for (<INF>) {
  print $_
}
close(INF);


654 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 19:24:42 ]
>>644
>wndprocのフック
blogs.msdn.com/nickkramer/archive/2006/03/18/554235.aspx

>コモンコントロールがないに等しい
WPF Toolkitが便利。DataGrid/DatePicker/Calendar/Visual State Manager(VSM)は.NET 4に取り込まれた。

655 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 19:51:18 ]
とりあえず画像ビュアー的なのを作ろうと思うんだけど
皆さんだとWinFormとWPFだとどっちが速く作れます?

サムネイル一覧表示
書庫から画像読み込み
各種フィルタ機能
画像の変換
を予定してます



656 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 20:10:13 ]
>>654 >wndprocのフック
こりゃありがてえ!

657 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 20:13:39 ]
>>642
いやそう言う話じゃなくて
.xapのMIMEタイプを指定してやらんと貼っても認識しない
>>653みたいなことも出来なくはないけど、それじゃあFlashの代わりとしては敷居が高すぎる

658 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 20:14:24 ]
>>657
ああすまん
httpヘッダのあれか・・

659 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 20:30:34 ]
xapを直接クリックでも起動できたっけ?
普通はHTMLLからsilverlightControlHostやsilverlight.js経由で
読み込むからMIMEの登録は不要なはず。

video再生くらいならxapなしで書けたりする。
ttp://www7a.biglobe.ne.jp/~fbsoft/test/BinaryStar.html


660 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 20:34:14 ]
あれ・・・yahoo移管後のGyaoってSLのプレーヤーだな・・・
どうやってるんだろ

661 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 22:04:42 ]
>654
できるのか。知らんかった

>WPF Toolkitが便利。DataGrid/DatePicker/Calendar/Visual State Manager(VSM)は.NET 4に取り込まれた。
コモンコントロールあるのか・・・
そのキットにはコモンダイアログもついてるのか?
フォントダイアログを自作する作業はもう嫌だよ・・・
せめてそのくらいつけてくれ>MS

662 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 22:06:41 ]
ファイルダイアログくらいは仕方ないとしても、
コモンダイアログは本質的にWPFの範囲外だから付けたくないんだろ

663 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 22:34:35 ]
フォント選択ダイアログはこの辺参考に自分で作るか、WinFormsの利用するしかないかな。
ov-p.spaces.live.com/blog/cns!39D56F0C7A08D703!253.entry
blogs.msdn.com/text/archive/2006/11/01/sample-font-chooser.aspx

664 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 22:36:51 ]
>>661
WPFだとFont列挙してListboxにでも入れてしまえばいいような気がする

665 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 00:21:52 ]
C#に限ったことではないのですが
ループする項目に対していろいろな条件によって
continue;するプログラムを書いていると
ついループが長くなりがちでなんとかしたいのですが
コツのようなものはありますでしょうか
すぐ思いつくのは
・ループ内からメソッドを呼ぶようにして
結果をboolで返すとか(処理結果を他で使いたい場合に問題)
・例外でループまで戻ってくる
(処理コストの面と意味的な面で例外を使うのはどうか)
と言った辺りですが思いつくことありましたらご意見を。



666 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 00:26:02 ]
>ついループが長くなりがち
なったことないのでわからん
どんな処理書いてるのか見せてもらえると一番なんだが・・・

コード晒す場合は>>4の※コードの量が多い場合・・・のところを使ってね

667 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 00:34:08 ]
>>665
bool返すメソッドをデリゲートに設定すれば
一つのメソッドで複数のメソッドを呼び出すことができる
一つのif文で済む
あとはその処理用にデータ構造を設けてコードが短く済むようにする

668 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 01:47:47 ]
よく分からんが、ループ内をごっそり他の関数にするとか大きな処理にまとめるとか?

669 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 01:56:16 ]
多態使うとか

670 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 02:02:16 ]
↓な感じでPictureBoxのサイズ変更時にImageのサイズも
変更しようとしてるんですけどImageのサイズが変わりません。
この方法まずいでしょうか。
※PictureBoxはフォーム全体にアンカーを貼っていてフォームサイズが変わると
 連動するようになっています。

Private void pictureBox1_Resize(object sender, EventArgs e)
{
  pictureBox1.Image = new Bitmap(pictureBox1.Width, pictureBox1.Height);
}


671 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 02:23:50 ]
なにをしたいか知らんがpictureBoxはこんなことができる
ideone.com/Cs4gU

672 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 02:23:58 ]
変更したサイズのImageが実際に欲しいのか、
Pictureboxのサイズに合わせて表示も拡大したいのか良く分からんけど、
後者ならプロパティに設定するだけ。
SizeModeをZoomかStretchImageにすればいける。

673 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 02:31:27 ]
それよりぶち抜きでcontinueとかbreakしたいのは俺だけか
一番内側から最外ループまで一気に戻りたい時とか面倒で仕方ない

674 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 02:33:28 ]
そんなのはケースによるしな
どんなコードの状況になてて>>665なのかわからんし
当たり障りの無い回答しかできないのも事実

675 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 02:51:11 ]
>>672
SizeMode設定で出来ました。
ありがとうございます。

別のGraphicsの画像をPictureBox.Imageに拡縮貼り付けしていて
PictureBoxのサイズが変わったら貼り付ける座標も変わるだろうということで
PictureBox.ImageのサイズをPictureBoxのサイズに変えたかったんですけど
PictureBoxはPictureBox.ImageをStretchBltしてくれるみたいなイメージなんですね。

>>671
なんだか・・・いろいろやってくれるんですね.NETは
今までWin32APIでしかウインドウズプログラミングしたことなかったので
勉強になります・v・




676 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 17:10:33 ]
次は、縮小画像がガタガタなんですけど…という質問が来るにちがいない。

677 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 17:17:39 ]
>>676
ファミコンの画像を縮小したら変に滑らかになって困ります。RGB接続した時のようなまま縮小したいです






[ 続きを読む ] / [ 携帯版 ]

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

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