トップページ⇒tech
1001コメント325KB

C♯相談室 Part18

レス数が1000を超えています。これ以上書き込みはできません。
0001名無しさん♯NGNG

(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。


過去スレは>>2-5あたり。


関連リンク
http://onigiri.s3.xrea.com:8080/csharp/index.php?%5B%5B%A5%EA%A5%F3%A5%AF%5D%5D

ソース置き場.NET
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049&rm=10
0002名無しさん♯NGNG
過去スレ
Part17 http://pc5.2ch.net/test/read.cgi/tech/1091284402/
Part16 http://pc5.2ch.net/test/read.cgi/tech/1087297504/ (現在HTML化待ち)
Part15 http://pc5.2ch.net/test/read.cgi/tech/1083066815/ (現在HTML化待ち)
Part14 http://pc5.2ch.net/test/read.cgi/tech/1076933504/ (現在HTML化待ち)
Part13 http://pc2.2ch.net/test/read.cgi/tech/1071663456/ (ログ行方不明)
Part12 http://pc5.2ch.net/tech/kako/1066/10660/1066038651.html
Part11 http://pc5.2ch.net/tech/kako/1061/10612/1061262958.html
Part10 http://pc5.2ch.net/tech/kako/1051/10518/1051842450.html
Part9 http://pc2.2ch.net/tech/kako/1039/10396/1039646808.html
Part8 http://pc3.2ch.net/tech/kako/1032/10324/1032488831.html
Part7 http://pc3.2ch.net/tech/kako/1027/10275/1027531796.html
Part6 http://pc3.2ch.net/tech/kako/1022/10222/1022257078.html
Part5 http://pc3.2ch.net/tech/kako/1019/10195/1019533942.html
Part4 http://pc.2ch.net/tech/kako/1016/10165/1016597767.html
Part3 http://pc.2ch.net/tech/kako/1009/10094/1009473982.html
Part2 http://pc.2ch.net/tech/kako/1002/10024/1002468050.html
Part1 http://pc.2ch.net/tech/kako/977/977112364.html
0003デフォルトの名無しさんNGNG
Scheme の .NET 対応マダー?
0004デフォルトの名無しさんNGNG
4様参上(゚Д゚≡゚д゚)
0005デフォルトの名無しさんNGNG
独自のメッセージを送るとき、WM_など既存の物と
値が衝突しないようにするにはどの範囲を使えいいですか。
0006デフォルトの名無しさんNGNG
ユーザ
0007デフォルトの名無しさんNGNG
VSのデザイナでフォーム作るとき、複数のフォームで共通のコネクション・コントロール使う方法無いかな。
フォームごとにコントロール用意しなきゃならないのは何か無駄というか、後々問題起こりそうな気がする・・・。
0008デフォルトの名無しさんNGNG
WM_USERよりもWM_APP
0009デフォルトの名無しさんNGNG
MVPになりてぇなぁ・・・
0010デフォルトの名無しさんNGNG
>>9
頑張ってコミュニティに貢献しろ
00115NGNG
>>8
WM_APPで検索したら、それ以降の値はシステムのIDと衝突しないことが
保証されてるみたいですね。ありがとうございました。
0012デフォルトの名無しさんNGNG
そんなこと言わないで。
これは男の性だから。
0013デフォルトの名無しさんNGNG
おっとっとすれ違いすまん。
0014デフォルトの名無しさんNGNG
DataGridって、カラムごとにIMEのモード切替とか、KeyPressイベントの処理とかはムリポ?
0015デフォルトの名無しさんNGNG
スクロールバーはオーナドローできないんですか?
0016デフォルトの名無しさんNGNG
SQLServerに画像を格納するにはどうしたらいいんでしょうか?
すでに格納してある画像を取り出してImage型に変換する方法は分かったんですが・・・。
0017デフォルトの名無しさんNGNG
前スレの988なんだけどさ
実際今一番人気の言語ってなんですか?
C++とかが人気多そうだからやりたいような気もするけど
店ではもう売ってないんですよね?

まあ、おれなんかは、趣味でたーんまにソフト作って
自己満足してるだけの奴なんで言語は何でもいいんだけど
しょぼいソフトでもいざ配布するとなると
C++なんかがいいなって思ったりする

プログラムなんてなんも知らない人からすれば
Frameworkを入れなければいけないってだけで面倒だもんね
そりゃ、それを入れてまでやりたいような魅力あるソフト作れればいんだけどさ

今後、Frameworkなんかがアプリやゲームなどで取り入れられてて、
知らないうちにFrameworkがインスコされてるって状況なればいいんだけど
どうなんだろ?
0018デフォルトの名無しさんNGNG
>>17
Windows 2003 以降では標準で .NET Framework がついてきます

他の突っこみどころにはスルー
0019デフォルトの名無しさんNGNG
>>18
w2003?そんなの出るんだ?
てか、出てるの?
XPは標準?

とにかく、標準でついてるってのはいいね

もうすこし.NETしてみるか
0020デフォルトの名無しさんNGNG
アホが二人
0021デフォルトの名無しさんNGNG
VB6.0(VB.NETではありません)のソースをC#に変換するツールを探しています。
市販ソフトでもフリーウエアでも、どちらでも構いません。
情報をお持ちの方がいらっしゃいましたら、ご教授ねがえませんでょうか?

よろしくお願いいたします。

0022デフォルトの名無しさんNGNG
>>21
VS.NETにそのまんまの機能があるんだが
002321NGNG
>22
Visual Basicアップグレード ウィザードのことでしょうか?
VB6.0⇒VB.NETへのUGWは知っていましたが、C#への変換も可能
なのですか?


勉強不足で申し訳ないのですが、もう少し詳細をおしえていただけませんでしょうか?
0024デフォルトの名無しさんNGNG
>>23
どうせコンバートしたまんま利用できるわけじゃないから、勉強がてら
手で移植した方が結局早いよ。
0025デフォルトの名無しさんNGNG
ついでになんですが、VB.NETからC#への変換はどうしたらいいのですか?
0026デフォルトの名無しさんNGNG
>>25
変換するツールがあるのかどうかは知らんけど、ラクしようとして
そんなの使っても気付かぬところで仕様違いが出てハマったり
すると却って多くロスるよ。
0027デフォルトの名無しさんNGNG
>>17
一応マジレスすると今も店にはVCでもBCBとかのC++コンパイラは売っている。
0028デフォルトの名無しさんNGNG
>>17
WindowsXP SP2導入以降は、たしか.NETframeworkが同梱のハズ
違ってたらゴメソ

0029デフォルトの名無しさんNGNG
>>22
っぷ
0030デフォルトの名無しさんNGNG
>>28
SP1にも.NET Framework入っていると思う。
この間の正月に買ったPCに最初っから入っていたし。
0031デフォルトの名無しさんNGNG
>>28>>30
入ってないよ。最近自作APのテスト環境として1台セットアップしたからわかる。
0032デフォルトの名無しさんNGNG
メーカー製には後付けで入ってることが多いんだよ。
0033デフォルトの名無しさんNGNG
ウインドウズアップデートで勝手に入っていくのじゃないのか?
0034デフォルトの名無しさんNGNG
入らなかったと思うけど(記憶違いかも知れない)。
もちろん .NET Framework 1.1 入れてれば 1.1 SP1 は入ってくる。
0035デフォルトの名無しさんNGNG
OEのアドレス帳をインポートするにはどうしたらいいですか?
Beckyみたいにしたいんですけど。
0036デフォルトの名無しさんNGNG
ファイルを開いて読み込むだけ。
0037デフォルトの名無しさんNGNG
ど素人ですが質問させてください。
SQLServerから読んだデータを表示した後
DBのコネクションを閉じないで終了するコンソールアプリを
1秒ごとに連続して動かすと30秒後ぐらいにパフォーマンスが極端に悪くなります。

試しにコネクションを閉じてやると、パフォーマンスが悪くなる事はありませんでした。

ガベージコレクションはプログラムが終了する時にメモリに残った
オブジェクトを自動的に開放してくれると聞いたのに
なぜコネクションを閉じるコードを書く必要があるのですか?
0038デフォルトの名無しさんNGNG
>>37
その部分のコードを書いてみろ
0039デフォルトの名無しさんNGNG
>>37
GCだとオブジェクトは解放するがリソース(この場合はSQLServerのコネクションか)は解放しないからじゃないかと。
ファイルをオープンしたらクローズしなきゃならんのと同じ理屈だと思われ。多分。
0040デフォルトの名無しさんNGNG
>>38改行が多いと叱られたのでソースは多少省略してますが以下のように書いてます。
 cDBCon.DBOpen(); SqlCommand cmd = null; SqlDataReader dr = null;
 string strSQL; string strWText;
 strSQL = "SELECT 以下略";
 try{
  cmd = new SqlCommand(strSQL, cDBCon.Con);
  dr = cmd.ExecuteReader();
  while(dr.Read()){
   if(dr["Fil1"] != DBNull.Value) {strWText = dr.GetString(0);}
   //ここで値を表示
 }
 dr.Close();
 }
 catch(Exception e){
  if(dr != null){if(!dr.IsClosed){dr.Close();}}
  strWText = e.Message;
  }
 }
以下はcDBConの中身です
 public static SqlConnection Con;
 public static int DBOpen()
 {
  string strConStr = "User ID=USERID;Initial Catalog=DBNAME;Data Source=SERVERNAME";
  try{
   Con = new SqlConnection(strConStr);
   Conn.Open();
  }
  catch(Exception e){
   string strWText = e.Message;
  }
 }
宜しくお願いします。
0041デフォルトの名無しさんNGNG
>>39
なるほど、そこには全然頭が回っていませんでした...orz
これから確認してみます。
0042在日外国人参政権反対NGNG
SQLserverがわの接続数なども関係してると思われ
0043デフォルトの名無しさんNGNG
>>40
まず、DataReader使うのなら、読み込み終わったら、すぐにCloseメソッドを実行する必要あり。
DataReaderに関連付けされているコネクションは、Closeメソッドが実行されるまで
ビジー状態になってて、閉じる以外の操作ができない。

あと、SqlConnectionを使っているので、接続プーリングが働いている。
Closeメソッド(またはDisposeメソッド)で接続を開放しないと、接続プールに
戻らない。ADO.NETのデータプロバイダでは、閉じない接続はデフォルトで
60秒間は再利用されない。
0044デフォルトの名無しさんNGNG
>>43閉じない接続はデフォルトで60秒間は再利用されない。
これはじめて聞いた、どこかに記述があるなら教えて欲しい。

しかし、プロセスが終了してもってのは考えにくい。
ような気がするけど実装によってはそうなのかもしれない…
0045デフォルトの名無しさんNGNG
なんでProcessってDiagnosticsなんですか???
0046デフォルトの名無しさんNGNG
>>45
すみません。自己解決しますた
0047デフォルトの名無しさんNGNG
>>44
プログラミング ADO.NET by MS Press
0048デフォルトの名無しさんNGNG
コンボボックスが開かれているかどうか
(コンボボックスのリストが表示されている状態か?)を
調べる方法はありませんか?

またコンボボックスのリストをプログラムから開く事はできますか?

方法があれば教えてください。
0049デフォルトの名無しさんNGNG
>>48
メンバをよく調べろ。
0050デフォルトの名無しさんNGNG
>>48
DropDownイベントやね。
0051デフォルトの名無しさんNGNG
イベント……?
48は開いた時に通知がほしいんではなくて、開いてるかどうかを静的に調べたいだけじゃないのか?
0052デフォルトの名無しさんNGNG
>>48
コンボボックスが閉じている状態をビットマップで保存して、開いているか調べたいときに画面のハードコピーをとって、保存してある画像を比較しろ
005350NGNG
>>51
そんならDroppedDownプロパティやね。
0054デフォルトの名無しさんNGNG
コンボボックスのドロップダウンなんですが、
▼ボタンを押してもドロップダウンを表示させないようにすることは出来ますか?

ネイティブだとコンボボックスの高さを小さくしておくことで可能なんですが、
。NETだと強制的に空白一行分のドロップダウンが表示されてしまいます。

OnDropDownやcomboBox_DropDown内で
DroppedDown = false; とかしてみましたがダメでした。

方法をご存知でしたら教えてください。
0055デフォルトの名無しさんNGNG
>>54
普通に考えたんだけど、コンボボックスのドロップダウンを表示されたくないのに、
コンボボックス使う必要あるのか?

それとも、何か特別な理由で何かの処理のタイミングで
一時的にコンボボックスの値が変更されないようにしたいだけなのか・・・
005650NGNG
>>55
手軽に入力内容を絞りたいとか、補完を利用したいとか?
0057デフォルトの名無しさんNGNG
>>54
そこまでやるんだったら、独自のコントロールを作成した方が早いと思う
005854NGNG
>>55-57
ありがとうございます。

コンボボックスを使う理由は、ビジュアルスタイルが適用できることです。

独自のコントロールも作ったんですが、
期待の動作はもちろん実現できるものの、
ControlPaintで書いた外観が、ビジュアルスタイルが適用された回りのコントロールから
浮いて見えてしまうんです。
0059在日外国人参政権反対NGNG
ビジュアルスタイルも実装しる
0060デフォルトの名無しさんNGNG
プログラミングよく知らない者なんですけど、
同じ.NET対応言語のVB.NETと比較してC#の優れている部分と、
劣る部分はどういったものがあるでしょうか?
0061デフォルトの名無しさんNGNG
マネージドクラスでラップされているものはマネージド資源として見なしちゃってOKですか?
0062デフォルトの名無しさんNGNG
んなこたーない
006361NGNG
>>62
難しいなぁ

Dispose(bool) の実装で、マネージ&アンマネージの区別が付かずに困っていたんですが……
……ま、趣味グラマだし今のところは適当でいいか
0064デフォルトの名無しさんNGNG
ぼくのオブジェクトに滝沢君の顔を実装するプログラムを作ってください
0065デフォルトの名無しさんNGNG
ハンドルされていない例外 : System.ArgumentException: 適応先のオブジェクトが不正です
   at ConsoleTest.Class1.Main(String[] args) in d:\visual studio projects\consoletest\class1.cs:line 17
0066デフォルトの名無しさんNGNG
>>60
.NET対応言語は色々あるけど、

VB.NET・・・VBプログラマを名前で騙して.NETに取り込む製品
C#.NET・・・Borlandから引き抜きまでしてJAVA潰し。MSの最重要製品
J#.NET・・・J++の失敗で開き直った製品。似非JAVA。恥の上塗り。
C++.NET・・・そのうちC#に移行してもらいたいのでVSに加えた。X-BOX御用達?

てな感じでしょうか?

C#の方がよりオブジェクトオリエンテッドなのかなって印象はありますが。
0067デフォルトの名無しさんNGNG
>>60
どこかに各言語を比較したホムペでもないしら
0068デフォルトの名無しさんNGNG
>>63
Disposable なものはどんどん Dispose しないとまずいイケースが多いと思うよ。
FileStream なんか gc で回収されるまで開きっぱなしだし、Bitmap は巨大メモリ占有し続けだし。
006961NGNG
>>68
あ、それはもちろんわかってます
……いや、それがわかってないから 61 みたいな事を言っちゃったのか^_^;
中途半端な知識でスマン

とりあえずマネージド資源はメモリに関してのみ……という認識でいいのかな?
他のマネージド資源って何だろ
0070デフォルトの名無しさんNGNG
public class Form3 : System.Windows.Forms.Form
{
private System.ComponentModel.Container components = null;
private System.Windows.Forms.TextBox textBox1; //�@
private TextBox textBox2= new TextBox();    //�A

この2つのコントロールの貼り付け方で異なる点はなんですか?
通常は�@の貼り方ですが、�Aでもいけるので何が違うのか分かりません。
0071デフォルトの名無しさんNGNG
>>70
基礎から勉強してこい
007270NGNG
じゃあ、MSが�@の方法を推奨する理由だけでも教えてくれませんか?
0073デフォルトの名無しさんNGNG
71 じゃないけど

>>72
using System.Web.UI.WebControls;

なんてのが入っていると、�Aでは

System.Windows.Forms.TextBox
System.Web.UI.WebControls.TextBox

のどっちを使えばわからないから文句を言われる
ただそれだけ
0074デフォルトの名無しさんNGNG
新規クラスを作る場面がよくわかりません。

例えば、サブフォルダ内すべてのファイルをリストアップする場合
再帰処理が必要ですが、標準ではないので
ソフトごとに毎回、メインクラスに再帰処理メソッドを書き込んでるのですが、
毎回書き込むのが面倒だから、別にクラスを作って流用しようって考えでいいのでしょうか?

私が作るのは小規模なプログラム大体3000行ぐらいなので
今までメインクラスのメソッドに毎回かいてたんですけど・・・・

新たなクラスを作るのは面倒だから、見やすいからってアバウトな感じで新規クラスを作ってもいいのでしょうか?
0075デフォルトの名無しさんNGNG
まずはOOPの勉強からだな。
007674NGNG
最後の1行意味わからないですね。訂正

新たなソフト作る度に同じ処理のメソッドを作るのは面倒だし、見やすいからってアバウトな感じで新規クラスを作ってもいいのでしょうか?
0077デフォルトの名無しさんNGNG
>>76
軽く本を読んでもいいけど、けっきょく勘所は慣れないとわからない。
最初は思いついたようにやってみたらいい。
使いづらいクラスができあがったら、間違ってたってこと。
向上心を持ちながらたくさんやってれば、どんどん見えるようになってくる。
007874NGNG
>>75
どうも、GOTOのころの言語から頭が離れなくて・・^^;

>>77
なるほど、気楽にクラス作っていこうと思います。

どうもでした
0079デフォルトの名無しさんNGNG
というか、クラスを分けないと最近はまともなプログラミングも出来なくなる罠
0080デフォルトの名無しさんNGNG
pictureBoxかLabelで数枚の画像をパラパラマンガみたいに表示したいのですが
うまくいかないのです
どうしたらいいでしょうか?
0081デフォルトの名無しさんNGNG
>>80
そこでアニメーションGIFですよ
0082デフォルトの名無しさんNGNG
数枚の画像を印刷してパラパラマンガを作る
008380NGNG
すみません。自己解決しますた
0084デフォルトの名無しさんNGNG
>>83
氏ね
0085デフォルトの名無しさんNGNG
>>83
どのように解決したか書いてよ〜
008680NGNG
パラパラ用画像をグラフィックソフトで横一列にづらっと並べて
描画時に画像をスライドさせながら表示することでできました
0087 NGNG
C#で64bitバイト列からulong型へ変換したいのですがなんか良いAPIあります?

↓みたいなことがしたいんですが

String ssource = "この文字列からハッシュを生成したい"; // ソース(文字列)
byte[] bsource = ASCIIEncoding.ASCII.GetBytes(ssource); // ソース(バイト列)
byte[] hsource = new SHA1CryptoServiceProvider().ComputeHash(bsource); // ハッシュ生成(160bitのはず)
byte[] hash = new byte[64];
Array.Copy(hsource, 0, hash, 0, 64); // 上位64bit取得
// ここでhashをulongに変換したい
0088デフォルトの名無しさんNGNG
>>87
そこでunsafeですよ
0089デフォルトの名無しさんNGNG
>>87
普通は BinaryWriter、効率を求めるなら >>88
0090デフォルトの名無しさんNGNG
BitConverterは駄目か。
0091デフォルトの名無しさんNGNG
>>90
こんなおいしいクラスがあったとは知らなかったぜ
009287NGNG
>> 書き込んでくれたみなさま
早レスありがとうございます。こうしてみました。

String ssource = this.IP + this.Port;
byte[] bsource = ASCIIEncoding.ASCII.GetBytes(ssource);
byte[] hsource = new SHA1CryptoServiceProvider().ComputeHash(bsource);
byte[] hash = new byte[20];
Array.Copy(hsource, 0, hash, 0, 8);
this.Hash = BitConverter.ToUInt64(hsource,0);
0093デフォルトの名無しさんNGNG
せっかくToUInt64が開始点を決められるようになってるのに、
一旦Arrayにコピーする意味があるのか? いやない。
8バイト固定だぜ。
0094デフォルトの名無しさんNGNG
>>93
ないっすね。へんなものみせてごめんなさい。
そもそもBitConverterにコピーしたhash渡してないし...
0095デフォルトの名無しさんNGNG
FolderBrowserDialogというクラスが2003から対応してるみたいなんですが、
現在C#std2002を持っているのですが、このクラスを使うにはどうすればいいのでしょうか?
0096デフォルトの名無しさんNGNG
どうしようもない。
FolderBrowserDialogはSHBrowseForFolderのラッパだから、自前で実装すればいい。
ttp://support.microsoft.com/default.aspx?scid=kb;ja;306285
009795NGNG
>>96
ありがとうございます。ちょっと自分には難しそうですがなんとかやってみます

それとちょっと変なこと聞くのですが、c#2002の最新版有無チェックの機能ありますよね?
あれでバージョンアップしても、買った当初からずっと「これは最新版です」って言われるのですが
2002はバグ修正とかはなかったのでしょうか?
MSのサイトみても、2002用のバグ修正のファイルとかは見つからないし
たまに挙動が変な時があるので、バグ修正とかあればいいのですが
009895NGNG
>>96
やっとこさできました

サイトみながらコピペしたり四苦八苦して、エラーばっかりでて
アセンブリ名やらクラスやらよくわからないこと言われて
DLLはstdじゃ作れないから、どうやったらいいか調べたり
結局エラー大量でもう無理かって思った時に

そういえば、あのサイトからDLした奴があるなぁ
それ開いてみようって思ったら
ソースだった・・・今までの苦労なんだったんだよって思いながら
コンパイルすると、DLL出力するファイルを直接利用できないとかわけの
わからないエラーがでて、まあそれでもやっとDLL作れて
やっと、安心して使えるフォルダ選択ダイアログが手に入りました

たぶん、教えてもらわないと、1ヶ月かかってもわからなかったと思います
たすかりました。ありがとう
0099デフォルトの名無しさんNGNG
DataGridの使い方がめちゃくちゃ難しーよー。
DataSet, DataTable などと絡めて、
GUIプロパティの動的な設定とか、
詳しく、かつ、わかりやすく説明している書籍とか、
ウェブサイトを教えていただけませんか?
MSDNのサンプルソース見たり、解説を読んだりしても、
ちょっと理解しづらいです。
010054NGNG
報告ご苦労。下がってよいぞ。
0101デフォルトの名無しさんNGNG
>>99
ここのDataGridの関連のTIPSがいいんでないかな
http://www.atmarkit.co.jp/fdotnet/dotnettips/index/index.html

本ではこれがサンプルとしては役に立ったかなぁ。
http://www.gihyo.co.jp/books/syoseki.php/4-7741-1757-9
ただ言語がVB.NETなんで読みにくかった。

0102デフォルトの名無しさんNGNG
Process.Start(アプリ名)
だと、そのアプリのiniファイルなどを読み込まないでデフォルトで起動したりするのですが
通常ダブルクリックでアプリが起動するように起動させるにはどうすればいいでしょうか?
0103102NGNG
自己解決

System.Diagnostics.ProcessStartInfo pInfo = new System.Diagnostics.ProcessStartInfo(string filename);
System.Diagnostics.Process process = System.Diagnostics.Process.Start(pInfo);
これでいけました。なぜかわかりませんが
0104102NGNG
んーやっぱり、うまく起動するものとしないものがある
マウスでアプリのアイコンをダブルクリックしたのと同じように起動できる方法教えて下さい
0105デフォルトの名無しさんNGNG
>>104
pInfo.WorkingDirectory = (exeのあるディレクトリパス)
でどう?

//Process.Start(string)と単にProcessStartInfo.FileName指定しただけのとで差はないはずなんだが……。
0106102NGNG
>>105
あ、なるほど!うまくいきました!
pinfo.workingdirectoryを設定してないと、規定フォルダが自作のアプリのディレクトリになるためだったんですね
ありがとうございます

>//Process.Start(string)と単にProcessStartInfo.FileName指定しただけのとで差はないはずなんだが……。
Process.Start(string)これだと、iniファイルを読みに行かなかったりするんです。
ソフトにもよるんでしょうけど・・・いまいちよくわかってません
0107デフォルトの名無しさんNGNG
>>102
単に、起動させようとしているアプリが糞なんじゃないんか
0108デフォルトの名無しさんNGNG
>106
Startの引数はふるパス?
0109102NGNG
>>107
どうなんでしょうか、私にはわかりかねます
一応起動はするけど、iniファイルのデータが取り込まれないんです

>>108
引数はフルパスですよ。起動はするけど、起動後
同じフォルダ内のexeファイルも読みに行ったりするので
規定ディレクトリ設定してないとだめだったみたいです
0110デフォルトの名無しさんNGNG
自分で適当なアプリ作って情報見てどう違うのか見るのが一番速い
0111110NGNG
コマンドライン引数とか、カレントディレクトリのことね
0112デフォルトの名無しさんNGNG
100%カレントディレクトリの問題だけどな
0113デフォルトの名無しさんNGNG
テキストファイルから FileStream.ReadByte() で取得した
バイト配列を保持しています。

このバイト配列に格納されたファイルデータを
Proccess.Start 等を使い指定アプリで開くためには、
一旦テンポラリとして物理ファイルに書き出す方法しか
私には思いつかないのですが、
今回、できればこのテンポラリを作りたくないのです。

バイト配列状態にしたファイルデータを、
物理的なファイル形式に書き出さずにアプリで開くことは可能なのでしょうか?
0114デフォルトの名無しさんNGNG
一部のアプリは STDIN から読み込めるのもある。
一部のアプリは ShellFolder に対応してるのもある。
一部のアプリは COM インターフェイスを提供しているのもある。
一部にアプリは DDE ・・・ってサイズ制限あったっけ?
0115デフォルトの名無しさんNGNG
共有メモリ使え
C#でどうやるかは知らん
後は親プロセスの情報なんかで渡してリモーティングとかソケットとか
0116デフォルトの名無しさんNGNG
要は受け取るアプリに応じて渡せ、と。
どう受け取るかをまず作らないとな。
0117デフォルトの名無しさんNGNG
>>115
> 共有メモリ使え
> C#でどうやるかは知らん

API呼び出し。

こんなのもある。
http://blogs.users.gr.jp/hidori/articles/WinCL.aspx
なんか直接落とせない、junktestの中から落とした。
http://www.hidori.jp/Downloads/junktest/
0118デフォルトの名無しさんNGNG
c#standerdで作ったソフトは配布してもいけますか?
0119デフォルトの名無しさんNGNG
C#にstanderdなどというバージョンは存在しない。
それ以前にstanderdなどという単語は存在しない。

>>118も存在しないでいいや。
0120デフォルトの名無しさんNGNG
c#スタンダードで作ったソフトは配布してもいけますか?
0121デフォルトの名無しさんNGNG
pictureBoxの上にLabelを配置してpictureBoxの画像の上に
LabelのTextを表示させるにはどうしたらいいでしょうか?

pictureBoxは実行時に大きさを変更するのでpictureBoxのTextだと表示位置がずれてしまうので^^;
0122デフォルトの名無しさんNGNG
その場合PictureBoxのPaintイベントで文字を直接描画する方が良いような気がする。
0123デフォルトの名無しさんNGNG
>>120
基本的には問題ないんじゃないかい。
0124デフォルトの名無しさんNGNG
毎回エラーが出るような処理を回避する場合
IFなどの条件文か、tryで回避するかどちらがいいんでしょうか?

例えば、リストビューに画像ファイルの一覧が表示されていて
リストをクリックされたら選択されているファイルをpictureBoxで表示させるプログラムの場合

ユーザーがクリックして選択されてない状態でも画像表示させようとして
選択されてないので、当然エラーになります。

IF文で選択されていれば画像表示という風にするべきか
tryでエラー回避して表示できる場合だけ表示するようにするべきか

どちらがいいんでhそうか?
0125デフォルトの名無しさんNGNG
IFに一票
0126デフォルトの名無しさんNGNG
>>124
ifでチェック可能なものならifで。
例外処理はコストが大きめなので。
0127デフォルトの名無しさんNGNG
>>124
「tryで回避」などという表現が使われているので恐らく「例外」のことを言ってるんだろう。
「エラー」は誤解を招く恐れもあり、ここでは不適切。

まず、例外周りはパフォーマンス的にかなりのコストがかかることは知っておくべき。

つーかそれ以前に、
例外が発生することを「考慮した」コードを書くのは当然のこととして、
例外が発生することを「前提とした」コードは一般には好ましくない。
0128デフォルトの名無しさんNGNG

// 「前提とした」コード?
// arrayの要素を0で埋める。
int i=0:;
try { while (true) array[i++] = 0; } catch {}
0129デフォルトの名無しさんNGNG
tryで回避というのは、家庭教師に何とかしてもらおうということでは?
0130127NGNG
>>129
なるほど、そういうことだったか。
行間読めなくてすまんかった。 m(_ _)m
0131デフォルトの名無しさんNGNG
ん〜labelの親コントロールをpictureBoxにしてみたのですがlabelが表示されないんですよね
なんでなんでしょ?

>>122
Paintイベントはよくわからないのですorz
0132デフォルトの名無しさんNGNG
RADの弊害か・・・
お前がプログラム組むのは1年早ぇよ。
0133デフォルトの名無しさんNGNG
1年じゃ足りないだろ
Paintイベントすら理解出来ないゴミは一生VBでも使ってろ
0134113NGNG
>114-117
やはりWin32の出番ですか。ありがとう。

中途半端なフレームワークだなぁ…。
0135デフォルトの名無しさんNGNG
いや受け取るアプリの問題だろ?
私は.NETアプリ間の通信はソケット使ってるし。
0136124NGNG
>>125
>>126
>>127
>例外が発生することを「前提とした」コードは一般には好ましくない。
なるほど。tryはできるだけ、使わなくてもいい設計にしないとだめなんですね
>>129

レスありがとうございます。

みなさん、コストがかかるって言われてますが、どういう意味なのでしょうか?
あと、実際tryを利用する場合というのはどういう場合なのでしょうか?
0137デフォルトの名無しさんNGNG
>>101
サンキュー、DataGridの件、情報ありがとう。
0138デフォルトの名無しさんNGNG
>>136
普通に複数の箇所から呼ばれるメソッドの例外処理とか、

try
{
  // なにか処理
}
finally
{
  // リソース開放とか絶対やらないといけない処理
}

とか。
0139124NGNG
>>138
まさに、>>124の処理とかはいろんなとこから呼び出されるんですよ
クリックイベントやkeydownイベントやその他

private void PicView()
{

  //画像表示
}

でも、IF文でまず
んー、なかなか、使い道がよくわからないなぁ、もう少し勉強してきます
0140138NGNG
>>139
あー、いや「普通に複数の箇所から呼ばれるメソッドの例外処理」ってのは

try
{
  複数の箇所から呼ばれるメソッド
}
catch(Exception)
{
}

みたいな処理の話で、そのメソッドの中の話じゃあない。

で、そのメソッドが呼び出し元に例外を投げるんじゃないなら俺もifのほうがいいと思うんだが。
0141デフォルトの名無しさんNGNG
まあ、ifですむんならifですますな、俺も。
0142124NGNG
>>140
あ、なるほどー

よくメソッド定義元内で、例外がでないようにする処理(if(File.Exists(filename))など)しようと思うけど
そうすると、例外が出て処理できなかったことをどうやって呼出元で取得するのかわからなくて
メソッド呼出元に例外がでないようにする処理していた。
すると、メソッド呼ぶ側全部に同じような処理させないとだめなので、
なんか無駄だなーって思ってた。

なるほど、理解した。ありがとう
0143デフォルトの名無しさんNGNG
いまVC#2003stdでDLLの作成をしています。
※Stdなので、.csprojのsetting-outputTypeをLibraryに書き換える方法でやってます

するとInterop.SHDocVwの参照がないとかいって怒られますが、
HDの中を検索してもそれらしきものが見つからないんです。
どうしたらいいんでしょうか?別の名前で存在しているんでしょうか?
自分で作るとか、M$から落とすとかそんな方法でやるんでしょうか?

教えてください。
0144デフォルトの名無しさんNGNG
>>143
> ※Stdなので、.csprojのsetting-outputTypeをLibraryに書き換える方法でやってます

これ意味わかんないんだけど、普通にクラスライブラリのプロジェクトを作ったらだめなの?

あと、Interop.SHDocVwはMicrosoft Web Browserをフォームに貼り付けると自動的に作成されて参照が追加される。
手動で作りたいならTlbimp.exeを使ってshdocvw.dllから作成しろ。
0145デフォルトの名無しさんNGNG
>>144
>>143
>いまVC#2003stdで
0146144NGNG
>>145
手元にインストールされてるVC#stdは普通にクラスライブラリプロジェクトを作成できるんだけど。
0147144NGNG
http://www.microsoft.com/japan/msdn/vstudio/productinfo/featurelist.asp
機能比較一覧を確認したが、VB.NETstd以外ならどれでも対応してる。
0148デフォルトの名無しさんNGNG
リッチテキストファイルから特定の文字のフォント情報を取得するにはどうしたらいいのですか?
0149デフォルトの名無しさんNGNG
>>146
あ、ごめん。「Windows Control Library」で作っているのです。都合上。
0150デフォルトの名無しさんNGNG
>>148
RichTextBoxでLoadFileして必要ならFindして
SelectionStartとSelectionLengthを適切に設定して
SelectionFontを取得する。
0151デフォルトの名無しさんNGNG
メソッドの作り方はわかるのですが、クラスのクラス?の作り方がわかりません
MyClassという自作のクラスがあって
MyClass.MyItemsというクラスを作りたい場合何を勉強すればいいでしょうか?
0152デフォルトの名無しさんNGNG
プロパティを定義したいのかネストクラスを書きたいのかどっちかすら分からないんだが。
取りあえず
ttp://www.atmarkit.co.jp/fdotnet/csharp_abc2/index/index.html
ttp://wisdom.sakura.ne.jp/programming/cs/cs.html
ttp://www-ise2.ist.osaka-u.ac.jp/~iwanaga/programming/csharp/index.html
0153デフォルトの名無しさんNGNG
>>151
内部クラスのことか?

class MyClass {
    class MyItem {
    }
}

みたいに MyClass の中で MyItem を宣言すれば OK よん
0154153NGNG
152 完全に無視してたスマソ
0155デフォルトの名無しさんNGNG
>>152
MyClass
{
  public MyClass()
  {
  }

  public MyItem items=new MyItem();//これでいけました

  public void Add()
  {
  }
}

こういう風にメソッドの外でクラスを作ることをなんていうんでしょうか?
0156デフォルトの名無しさんNGNG
>>155
>>152
まず基礎から一つずつ積んでけ。
0157デフォルトの名無しさんNGNG
何をしたいのかというと

ListViewにPictureBoxの機能を連動するようなMyClassを作りたかったんですが
PictureBox継承にしてしまうと、MyClassを使う場合、pictureboxの機能も使えてしまって
ごちゃまぜでややこしいので、できればMyClass使う場合、pictureBoxを意識しないで
使えるような設計をしたかったんです

MyClass.items //ListView
MyClass.View  //ListViewで選択されてるitemをPictureBoxに表示するメソッド
0158デフォルトの名無しさんNGNG
基礎から出直してきます
どうもでした
0159153NGNG
俺、完全に無視されたヨカン
0160151NGNG
ここIDでないんですね・・

>>159

>>153で書かれてることは>>155こういうことなのでしょうか?
このことを内部クラスっていうんですね
ありがとうございます
0161デフォルトの名無しさんNGNG
いやそれは違うから
0162デフォルトの名無しさんNGNG
フィールドについて調べてみよう。
0163153NGNG
そういうことか。何となく流れが混乱している意味がやっとわかった。


�@ 『内部クラス』は『クラスの中で宣言されたクラス』を指す。
>>153 では MyItem がコレ

�A 内部クラスといっても、普通のクラスとの本質的な違いは殆どない。
>>155 はスコープの問題。

�B 『クラスの宣言』と『インスタンスの作成』は全く違うことに注意。
下手すると両方とも「クラスの作成」になっちまうからな


>>160 は、内部クラスを『メソッドの外で宣言する物と思い込んでいる』
ような気がする。(合ってなくはないが微妙にニュアンスが……)
0164デフォルトの名無しさんNGNG
C# ver2.0で追加される
クラスのライブラリってどこか参照できるところがあれば
教えてください。
0165デフォルトの名無しさんNGNG
Itemって名前のプロパティ作って怒られたよ俺
0166151NGNG
>>163
んーなかなかむずかしいすねー
内部クラスっていうのは作ったことないです

クラスっていうのは実体がない設計図みたいなもので
インスタンスはその設計図を元に具現化したもの・・・

実際MyClassを使うメインのクラスでは
public Form1:
{
  private MyClass[] mc=new MyClass();//>>155のMyClass

  public Form1()
  {
  }

  private void View()
  {
    //mc.AddでMyClassのListViewにファイル名追加してさらに
    //MyClassの中のprivateなPictureBoxでform1に画像を
    //表示する
    mc[0].Add("filename");
  }
}
結局、Form1でインスタンス化するんだから、MyClass内でMyItemsをインスタンス化
するのは無駄なことなのかも?
内部クラスとスコープこの二つの単語をもう少し勉強してきます
0167デフォルトの名無しさんNGNG
( д) ゜ ゜
0168デフォルトの名無しさんNGNG
その前にオブジェクト指向の基礎を勉強してこいよ
0169151NGNG
やっと、自分の考えていること表現する方法がわかった↓
こんな構造作りたいんだけど・・

MyClass.View.PictureBox
MyClass.ListView

>>166のやり方でさっきからやってるけど
MyClassのメソッドでPictureBoxに画像表示してるけど
Form1に表示されない・・・・
んー、素直にPictureBoxを継承すればすんなり行くんだけど・・
pictureBoxの機能はすべてMyClass内で自動でやってほしんだよね・・
0170151NGNG
あ、違う
MyClass.View.PictureBox
これじゃなかった
pictureBoxはMyClassのプロパティ?として使いたいんだった
あーやっぱ出直してくる
0171デフォルトの名無しさんNGNG
まず、この話に内部クラス(ネストクラス)は一切関係ない。スコープも取りあえず関係ない。
アクセシビリティもおいとこう。

根本的にFormに表示できるのは、
・祖先がControlであるクラスで、
・FormのControlsプロパティに追加された上記クラスのインスタンス
のみだ。
お前さんのMyClassとやらは条件を満たしてるのかね?

//しかしフィールドも知らない人がよくこんなことしようと考えるなぁ。
//Hello worldから始める人って少なくなったのかなぁ。
0172151NGNG
>>171
PictureBoxを継承した自作クラスでFormに描画できるのはそういうことだったんですね

MyClassは継承もしてないし、Controlでもないと思います
Controlもよく意味がわかってないですが^^;

フィールドというのは、クラスの先頭で宣言するpublic int a;などのように
データを保存するだけのもののことをいうんですよね?

FormにListViewなどを配置すると、Formクラスの先頭に
private ListView listView1;
ていうのができますが、これはプロパティ?それともフィールド?
0173デフォルトの名無しさんNGNG
少しはその足りない頭で考えようとしてみろ
お前の聞いてることはC#とか言語以前の問題だ
0174デフォルトの名無しさんNGNG
>>172
・・・・・。
0175デフォルトの名無しさんNGNG
もうどうしようもねえな
0176デフォルトの名無しさんNGNG
>>172
まずは入門書を読み飛ばさず一冊読んでおおまかな概要や用語をつかむことだ。
用語がわからないのでは、まさに文字通り、話にならないから。

ttp://pc5.2ch.net/test/read.cgi/tech/1065196964/
0177デフォルトの名無しさんNGNG
すげぇ…。
0178デフォルトの名無しさんNGNG
RADの弊害だな
しかしここまでひどいのは初めて見た
0179176NGNG
>おおまかな概要
「白い白馬」やっちまった。
0180デフォルトの名無しさんNGNG
>>178
ほんとそうだよな。
こういう書き込み見てると頭の頭痛が痛いよ。
0181デフォルトの名無しさんNGNG
>>180
なんかそのせりふ頭痛に寄生されてるみたいでキモイ
0182151NGNG
>>176
一応C#と独習C#は基礎的な部分は繰り返し呼んでたんだけど
勉強の仕方が悪いのか頭に入ってないですね
説明文自体が専門用語ばかりで・・
0183デフォルトの名無しさんNGNG
悪いのは勉強の仕方ではなくおまいの頭・・・
0184デフォルトの名無しさんNGNG
151は神だと思うw
0185デフォルトの名無しさんNGNG
頭に入ってなければそれは勉強したとは言わない
眺めただけという
0186デフォルトの名無しさんNGNG
>>185
座布団一枚!
0187151NGNG
プログラムできないとバカ扱いされるんですか?
ちゃんと仕事して家族養ってるし年収も1000万もらってるんですけど
ちょっと興味湧いたのでプログラム始めたんです
プログラム初めてからまだ1週間です
わたしはバカって言われたことありません
0188デフォルトの名無しさんNGNG
よかったな、初体験だ。
0189デフォルトの名無しさんNGNG
>>187

本物のネ申が降臨しました
0190在日外国人参政権反対NGNG
>187
馬鹿かどうかはわかりませんが、貴方のここで書いていることはほとんどが釣りと疑わせるようなものであることはまちがいないです.
私も釣られてるんでしょうか?
0191デフォルトの名無しさんNGNG
さすがに 187 は別人の釣りだと思う。
0192デフォルトの名無しさんNGNG
雰囲気悪くなるからそんなにいじめるなよ
0193デフォルトの名無しさんNGNG
すべてのプログラマの基底クラス、その名は151
0194デフォルトの名無しさんNGNG
>193
そんなもん継承させないでくれ...
0195151NGNG
いろいろ調べててわかったんですが
自作コントロールというのはいわゆるDLLのことだったんですね
0196デフォルトの名無しさんNGNG
なんかおかしいぞ。
0197デフォルトの名無しさんNGNG
相変わらず斜め上だな……。
0198151NGNG
Controlクラスや、その派生クラスから継承して作ったGUIクラス = コントロールでよいのでしょうか。
それを /target:library オプションを付けてコンパイルしたものがDLLなんですね。

そこで質問なんですが、自動車免許(大型)の更新には、焼きそばは必要なんでしょうか?
0199デフォルトの名無しさんNGNG
まだ続ける気があるなら151はトリップつけろ、やりかたはクラスの継承と同じだ。
0200デフォルトの名無しさんNGNG
>>198
だから、コントロール=DLLじゃないって。
0201デフォルトの名無しさんNGNG
モッコリはにゃ〜ん
0202デフォルトの名無しさんNGNG
モッコリはにゃ〜ん
0203デフォルトの名無しさんNGNG
モッコリはにゃ〜ん
0204151 ◆0XlGlYK4pE NGNG
どういうクラスを作りたいのかというと
ファイルが送られてきたら、リストビューにファイル名追加して
さらに画像をピクチャーボックスに表示する
こういう動作をするクラスを作りたいんです
ListViewの機能にPictureBoxの機能を加えたようなもの

このクラスの名前を例えばMyClassします
MyClassにPictureBoxを継承してしまうと
MyClassを利用する側はPicturBoxのメソッドにもアクセスできることになる
利用する側は直接PictureBoxのメソッドを利用することはないのに
利用できるようになるのは無駄というかわかりにくいですよね?
利用する側からはPictureBoxのメソッドの存在を隠蔽したいんです
そこで、継承ではなくMyClassの内部にPictureBoxをオブジェクトとして扱おうとしたけど
今度は利用する側(Form1)に表示されない・・

そこで自作コントロールを作ればいいと考えたんですけど
DLL作ってるんですけど、結構面倒ですね、うまく動作してるか
デバッグしながら確認出来ないから
一旦DLL作って、それをフォームに貼り付けてやらないと
チェックできないし・・

じゃあ、どうすればいいのか・・・コントロールを作りながらそのコントロールを
利用する側も一緒に作っていく方法がわからなくて困ってます
0205151 ◆0XlGlYK4pE NGNG
自作コントロールはDLL化しないと、Form1などで
利用するこはできないですよね?
もしできるなら、この問題は解決するんですけど
0206デフォルトの名無しさんNGNG
>>151
こっちのスレに行け。
http://pc5.2ch.net/test/read.cgi/tech/1065196964/l50
0207デフォルトの名無しさんNGNG
>>205
Form1はDLLにしないとMainメソッドから呼べないとでも?
0208デフォルトの名無しさんNGNG
>>204
どっから送られてくるのか知らんがw

とりあえず、大量の画像のファイル名をListViewに羅列して、
マウスがListViewのアイテム(画像ファイル名)上に来たら、該当する画像を表示する。

こんな感じでいいの?
0209デフォルトの名無しさんNGNG
PictureBoxとListViewをぶっこんだユーザーコントロール作ればいいだけちゃうんかと
0210151 ◆0XlGlYK4pE NGNG
>>208
今画像の振り分けソフトを作っているんです
起動時にlistView1に画像のアドレスが一覧されていて
Form1上のMyClass.PictureBoxをクリックすると、listView1で選択されている画像ファイルが表示されるとともに
そのファイルがMyClass.ListViewに追加されるというものです

この処理をすべてForm1のメソッドでやればいいんですけど、MyClassを何十個も増やせるようにしたいので
そうなってくると非情に面倒な結果になります

あと、今適当にやってたら、プロジェクト右クリックでユーザーコントロール追加できるんですね
これで簡単にユーザーコントロールをグラフィカルに作ることができました。これ便利ですね
クラスの説明とかはいろいろあるのに、VC#自体の説明書がないので、まだ、このソフト使い慣れてない・・

で、ユーザーコントロールは簡単に作ることができて、フォームに追加することはできたんだけど
いざ、デガッグしようとすろと、ユーザーコントロールはビルドされていなければいけませんと出て
やっぱり、いちいちビルドしてからでないと使えないみたいです
0211デフォルトの名無しさんNGNG
グダグダになってまいりました。
0212デフォルトの名無しさんNGNG
おまえらもう151にはかまうなよ。
151は自分の分をわきまえろ。
んな高度なもん作る前にやることがあるだろ。
0213151 ◆0XlGlYK4pE NGNG
>>209
ええ、そうなんですよ。その作り方もわからなかったし、存在すら知らなかった・・

でもIDEでGUIで作れたので便利です。IDEの説明がもっと充実していればなぁ
0214199NGNG
本当にトリップつけて続けるとは思わなかった。
とりあえず151は入門書を256回読んでから首吊れ。
0215デフォルトの名無しさんNGNG
おまいらせっかくトリップ付けてくれたのは、あぼーん設定しろって意味なの分らんの?
それはともかくとして、このスレもう4年も経つんだな。
0216デフォルトの名無しさんNGNG
最初のスレの>>3
↓

     〆 ̄TTTTTTTTTTTTTTT7
     | =|  ̄ ̄ ̄┴┴┴ ̄ ̄ ∨
    |=|  ̄ ̄――― ̄    |
     | =| 巛lllllllllllllllii ̄ ̄iillllllllllllll|
     | =|  ___llll  lll___|
    |=\人   o > /   o フ<
    |i⌒i| へ ̄ ̄,  \ ̄ ̄ , .|
    ||  |.|     ̄    \ ̄ |
    ||  ‖  //  (      | ヽ |
    | \| イ_   ^  ̄ ̄   |
     | ≡ ./|  \王I王I王I王I王フ|
    /| =/ |           |
   /  |/ 人    =≡≡=  ノ
― ̄|  \ へ _      イ
   |    \     ̄ ̄ ̄
0217デフォルトの名無しさんNGNG
トリップ月の151は187なのか?
0218デフォルトの名無しさんNGNG
MSDNにはコントロールを継承したクラスの内部のメソッドは作成元スレッド以外から呼んではいけない、
という風に載っていたのですが、この場合の内部というのはどこまでを指すのでしょうか?

public class Form1 : Form
{
/*独自のメソッド*/
public void MyMethod()
{
}
}

この場合、MyMethod()は別スレッドから直接呼び出しても問題ないでしょうか?
0219デフォルトの名無しさんNGNG
>>218
それはクラスの外部のメソッドなのか?

違うだろ?
0220151 ◆0XlGlYK4pE NGNG
>>218
パブリックなら普通に読めるでしょ
てか、オブジェクトについてもうちょっと勉強したほうがいいよ
0221デフォルトの名無しさんNGNG
ごめんちょっとワラタw
0222デフォルトの名無しさんNGNG
>>218
あなたが実装しなかったメソッド(つまり .NET Framework に含まれているメソッド)。
自分が実装したメソッドなら、他スレッドから安全に呼べるかどうかは自分でわかるはず。

たとえばその void MyMethod() は何もしないので当然他スレッドからも安全に呼べる。
0223151 ◆0XlGlYK4pE NGNG
外野は黙ってろ
0224デフォルトの名無しさんNGNG
>>217
本物の 151 はアドバイスに従って「ふらっとC♯(Part5)」へ移動、
187=偽151が面白がってあらしている状態だと思う。
読んでないけど。
0225デフォルトの名無しさんNGNG
あの・・すいません・・
下のコードを実行すると、

public Form()
{
Init();
MessageBox.Show("form","");
}

private void Init()
{
MessageBox.Show("init","");
}

public void Form_Load(object s, EventArgs e)
{
MessageBox.Show("load","");
}

なぜか、
MessageBox.Show("form","");
MessageBox.Show("init","");
MessageBox.Show("load","");
の順番で実行(MessageBoxが表示)されます。
"form"と"init"の順番が逆な気がするんですが、なんでこうなるんでしょう(;´Д`)
プチパニック状態なんですが。
0226225NGNG
Application.Run(new Form())で、Formのインスタンスを作る指令(?)が出されて、
まずコンストラクタ(Form())が実行されて、
その中でInitが呼び出されて、
最後に、Loadイベントが発生するんですよね。

なんか勘違いしてるんでしょうか・・・
0227デフォルトの名無しさんNGNG
ん?おれは init->formの順で呼ばれたけど?
0228デフォルトの名無しさんNGNG
やってみたがちゃんと
init→form→loadの順でメッセージボックスでるぞ
0229デフォルトの名無しさんNGNG
問題なくバージョンにかかわらずinit->formだな。
0230225NGNG
すいません。
Form()の中でMessageBox.Show("init","");
Init()の中でMessageBox.Show("form","");
を呼び出してました。 orz
0231デフォルトの名無しさんNGNG
というか>>225の結果が不思議でならない
0232151 ◆0XlGlYK4pE NGNG
>>230
( ゚д゚)ポカーン
0233デフォルトの名無しさんNGNG
ここはひどいインターネッツですね。
0234デフォルトの名無しさんNGNG
気を取り直して次の質問
↓
0235デフォルトの名無しさんNGNG
c#stdを使っているのですが
ユーザーコントロールを配置して
デバッグしようとすると、ユーザーコントロールはビルドされていないとダメって
コンパイル時に起こられるのですが、みなさんはどうしてますか?
VS.NETproとかだとこういうエラーはでないんですか?
0236デフォルトの名無しさんNGNG
VS.NETだとソースにバグがあるとそのエラーで全部のコンパイルに失敗して
ユーザコントロールはビルドされていませんというエラーが出るけど、
バグを潰すとそんなエラーはでなくなって普通に動くよ。
0237デフォルトの名無しさんNGNG
プラグインで機能を拡張可能なアプリを作りたいです。
Win32ではDLLすら扱ったことないのですが、
.netでプラグインを実現するにはどういった方法がありますか?

構想としては、
例えばある基底型をアプリ側で用意しておいて、
プラグイン側ではそれから派生して新しい型を作ってDLLにして、
アプリ側でそのDLLを動的に読み込んでその型のインスタンスを作る、
なんて流れが出来ればなあと思っているのですが、。、。
0238 ◆FIcNi4f8js NGNG
SetWndClassEX
0239デフォルトの名無しさんNGNG
すまん、Genericsでなんだが
class hoge<T>
{
int num = 0;
T typ;

public hoge()
{
typ += num;
}
}
で、Tがint以外の時はエラーになるもんなん?

ボクシングが動くんだか動かないんだかよくわからんのですが・・・・。
0240151ホンモノ ◆Ibpv.GcsrQ NGNG
>>235はふらっとC#に私がカキコしたもので
誰かがこのスレにコピペしました。

でもレスしてくれたので返答します
>>236
ソース自体にはなんらバグはありません。
どうやら、C#stdではDLL化していないユーザーコントロールは
一緒にコンパイルしてくれない仕様みたいですね。
もともと、私のC#std2002はクラスライブラリ作れない仕様ですし・・・

結局現在は、Formでインスタンス化してユーザーコントロールを使ってます
また、ここで質問していたことすべて実現しました。
どうもお騒がせしました。そして結果的に荒れた原因も作ってしまい
申し訳ありませんでした。
0241デフォルトの名無しさんNGNG
>>239
なんでボクシングの話になるんだ?

operator + (T, int)
が定義されていないTだったら、どうやってもコンパイルできないだろ。
0242デフォルトの名無しさんNGNG
operator+=ではなくて?
0243デフォルトの名無しさんNGNG
>>237
ttp://vision.kuee.kyoto-u.ac.jp/~nob/doc/csharp/csharp.html
この辺が参考になるかな。

>>238
ttp://d.hatena.ne.jp/akiramei/searchdiary?word=%2a%5bC%23%5d
の下の方が参考になるかな?
Tが解決されるのはあくまで実行時。
Tに対して+なんて使うと問答無用でコンパイルエラーがでてしまう。
operatorはインターフェイスベースではないからwhereでの制限も不能なのだ。
0244デフォルトの名無しさんNGNG
>>242
はい、C++と勘違いしてる厨房がいますよ
0245237NGNG
>>243
貴重なページの紹介、ありがとうございます。

さっき書いた構想を、そのまま実装すればいいんですね。
0246デフォルトの名無しさんNGNG
public Class A()
{
  private ListView lv1=new ListView();
  private B b=new B();

  private Add()
  {
    lv1.Items.Add("test");
    b.Add(lv1.Items[0]);
  }
}
public Class B()
{
  private ListView lv2=new ListView();

  private Add(ListViewItem item)
  {
    lv2.Items.Add(item) //実行時にここで複数の場所に追加できませんとエラーでます
  }
}

なぜエラーが出るのでしょうか?
0247デフォルトの名無しさんNGNG
×private Add(ListViewItem item)
○public Add(ListViewItem item)
書き間違え
0248デフォルトの名無しさんNGNG
>>246
ListViewItem は、複数の箇所(複数の ListViewや、一つのListViewに複数回)に追加できないからです。
Clone でコピーを作るか、新しく new で作るかして追加してください。
0249デフォルトの名無しさんNGNG
>>248

b.Add((ListViewItem)lv1.Items[0].Clone);
か
b.Add(new lv1.Items[0]);

ということですか?
0250デフォルトの名無しさんNGNG
リストボックスがForm1と2にあって、form1のlistboxからform2のlistboxへ
ドラッグ&ドロップにてデータの受け渡しをするにはどうしたらいいのですか?
0251デフォルトの名無しさんNGNG
どのレベルでの解説を期待するのかな。
まずform2のListBoxのAllowDropをtrueにして、から?
0252デフォルトの名無しさんNGNG
>>250
ttp://dobon.net/vb/dotnet/control/draganddrop.html
0253デフォルトの名無しさんNGNG
>>249
おまえ151だろ
0254250NGNG
>>252
の部分を改造してやってたのですが、よく見たらform2のListBoxのAllowDropをtrue
にしてなかったのが原因でした。
0255デフォルトの名無しさんNGNG
pictureBox上のLabelを透過するにはどうすればいいですか?
0256デフォルトの名無しさんNGNG
ちょっとくらい自分で探そうや。
ttp://www.google.com/search?num=100&hl=ja&lr=lang_ja&oe=utf8&q=picturebox+label+%E9%80%8F%E9%81%8E
0257デフォルトの名無しさんNGNG
>>256
親コントロールをpictureBoxにしたのですがLabelが表示されないのですが
どうしてなんでしょ?
0258デフォルトの名無しさんNGNG
その後でフォームの方のControlsにAddされてるとか?
背景TransparentでTextが空とか?

その周辺のコードも示さずにどうしてとか聞かれても。
0259デフォルトの名無しさんNGNG
pictureBoxのControlsにAddして背景TransparentでTextは空じゃないです
LabelのTextだけpictureBoxの上に表示したいのです
0260デフォルトの名無しさんNGNG
>>259
"その後で"フォームの方のControlsにAddされてるとか?

その周辺のコードも示さずにどうしてとか聞かれても。
0261デフォルトの名無しさんNGNG
PictureBoxコンテナじゃないからAddしても表示されないと思うが。
0262デフォルトの名無しさんNGNG
>>261
>  PictureBoxコンテナじゃないからAddしても表示されないと思うが。

実はGroupBoxなんかもControlから直接派生したクラスだったりするよ。
0263デフォルトの名無しさんNGNG
>>260
後はAddされてないです
0264デフォルトの名無しさんNGNG
>>262
GetStyle( ControlStyles.ContainerControl ) が false を返すという意味。
0265デフォルトの名無しさんNGNG
>>264
へー、ControlStylesにこんなのまであったのか。知らなかった。
……でもLabelでもPictureBoxでもListViewでもControlsに入れた他の子コントロールを表示してくれるんだよなぁ。

>>263
その周辺のコードも示さずにどうしてとか聞かれても。
いい加減釣りか実のところ。
0266デフォルトの名無しさんNGNG
パネルの中にピクチャボックスとラベルを兄弟として入れるのが正しいと思う
0267在日外国人参政権反対NGNG
もう描画したほうが早いんでないの?
0268デフォルトの名無しさんNGNG
>>266
> パネルの中にピクチャボックスとラベルを兄弟として入れるのが正しいと思う
それだと本末転倒。
Panelに対してLabelの背景の透過が適用されてしまう。
0269デフォルトの名無しさんNGNG
 C#でSusiePluginを使ってPictureBoxに画像を読み込みたいのですがイマイチやり方が解りません。
DLLの呼び出し方をイマイチ理解してない事もあるのですが、何か良いサンプルは無いでしょうか?

ttp://www2f.biglobe.ne.jp/~kana/spi_api/index.html

SusiePluginの仕様はこの辺にあります。構造体とかどうやって渡せばいいんだろ…
0270デフォルトの名無しさんNGNG
全スレで同じ事使用とした人がいたけど、成功したのだろうか。
私はC++でDLL作って、その中でSusiePluginよびだして、BITMAPデーターをC#に渡していた。
直接SusiePluginの関数をC#から呼ぶよりよほど簡単だった。
0271デフォルトの名無しさんNGNG
ユーザーコントロールにcontextMenuを追加するとバグるのですが
仕様でしょうか?ユーザーコントロールのサイズが変化してしまう

バグるのでForm上でContextmenuを追加したのですが
クリックイベントでのsenderはmenuitemのオブジェクトしか返さないので
どのユーザーコントロールがクリックされたかわかりません。
ユーザーコントロールは配列で複数作っています

userControl[i].Click +=System.Event()
0272デフォルトの名無しさんNGNG
string measureString = "This is a test string, will be printed at random offsets!";
int numChars= measureString.Length;

CharacterRange[] characterRanges = new CharacterRange[numChars];
for(int i = 0; i<numChars; i++)
characterRanges[i] = new CharacterRange(i, 1);
StringFormat stringFormat = new StringFormat();
stringFormat.SetMeasurableCharacterRanges(characterRanges); //ここでエラー

この断片コードを実行すると一番下の所でオーバフローが起きてしまいます。
いろいろ分析してみたんですが無理だったので分かる方教えてください。
0273272NGNG
すみません。自己解決しますた
0274本物 272NGNG
入力ミス?と思うのですが、まだ解決していません。
0275デフォルトの名無しさんNGNG
>>272
SetMeasurableCharacterRangesの引数のCharcterRange配列要素数は最大32個までって制限。
なんでかはしらん。
0276デフォルトの名無しさんNGNG
>>271
似たような状況で漏れは動的に menuItem を生成して、Hashtable に登録することにしました。
本筋は MenuItem の派生クラスを作って、Tag なり何なり追加することなんだろうけど。
0277272NGNG
>>276
これよりもっとよい解決法ないですか?
0278デフォルトの名無しさんNGNG
自己解決したんだろ?
0279271NGNG
>>276
MenuItemを継承したクラスを作って
それをContextMenuに関連付ける方法がわかりません
ContextMenu.MyMenuItemと言う風に出すにはどうすればいいんですか?
0280デフォルトの名無しさんNGNG
YourMenuItemを追加しておいて、
contextMenu.MenuItems[0] as YourMenuItem
なり
foreach (YourMenuItem i in contextMenu.MenuItems)。。。
なり、
なんだっていいんじゃないか?
0281デフォルトの名無しさんNGNG
ネットワークアプリでHide状態のコントロールをShowすると
アプリが固まるんだけど、なんでだろう?

BeginInvoke(new ShowUICallback(playerGroupBox[i].Show));

みたいにBeginInvokeを通すと固まらないんだが、
そもそもBeginInvokeで何をしているのかも分からん。
0282デフォルトの名無しさんNGNG
>>281
スレッド
0283デフォルトの名無しさんNGNG
>>281
ドキュメント読めば分かるじゃん。
0284デフォルトの名無しさんNGNG
VCとかのGUIスレッドをやりたいんだけど
ワーカスレッドしかないの?
0285在日外国人参政権反対NGNG
>284
貴方の言ってるGUIスレッドとワーカースレッドの違いを教えてくれ
0286デフォルトの名無しさんNGNG
↓のってDataGridViewの場合どう書けばいいですか?
DataGrid1.CurrentCell = new DataGridCell(0, 0);
0287デフォルトの名無しさんNGNG
DataGridViewCellの派生クラスをnewしてやればいいんじゃない?
0288デフォルトの名無しさんNGNG
あ、誤読?
SetCurrentCellAddressかSetSelectedCellCore辺り?
0289284NGNG
>285
UIスレッドの間違い。すまん。
メッセージループがあるかないかの違いです。
Formから立ち上げたスレッドをイベントドリブンにしたいんす。
0290デフォルトの名無しさんNGNG
>>289
そっちのスレッドでも Application.Run() すれば UI スレッドになるよ。
Win32 みたいにPostThreadMessageで簡単にインタースレッドで通知を行えないので、
Control 作って Invoke する and/or 自前でコマンドキュー用意したりする必要があるけど。
0291デフォルトの名無しさんNGNG
>290
ありがとう!
早速ためしてみる!
0292デフォルトの名無しさんNGNG
.net2003TheSpoke買ったらC#入ってたんですけど、
C#はMICROSOFTが提唱している言語でC#=即ちvisualC#
ということで合ってますか?
0293デフォルトの名無しさんNGNG
>>292
C# = 言語
Visual C# = MS発のC#開発ツール(ほかにC# Builderとか。)
0294デフォルトの名無しさんNGNG
>>292
C++ = 言語
Visual C++ = MS発のC++開発ツール(ほかにC++ Builderとか。)
0295デフォルトの名無しさんNGNG
>>292
Java = 言語
JBuilder = Borland発のJava開発ツール(ほかにVisual J++とか。)
0296292NGNG
>>293-295
あぁなるほど、確かにそうですね。サンクス
0297デフォルトの名無しさんNGNG
場違いかもしれませんが、教えてもらいたいことがあります。
C#のPOPUPMENUってVB.NETで言うと何に当たるか教えてください。
0298デフォルトの名無しさんNGNG
まずその「C#のPOPUPMENU」とやらの定義を聞こうか。
0299デフォルトの名無しさんNGNG
今簡単なランチャーを作ろうと思っています。
Bevelを右クリックした時にアイコンの登録削除
のポップアップメニューが出るようにしたいです。
0300デフォルトの名無しさんNGNG
.NET Frameworkのクラスライブラリは言語によらない。
VB.NETでもC#でも使うクラスは同じ。
0301デフォルトの名無しさんNGNG
夜遅くありがとうございます。
0302デフォルトの名無しさんNGNG
Bevelって何て読むの?
「ベベル」?
0303デフォルトの名無しさんNGNG
>>302スレ違い
0304デフォルトの名無しさんNGNG
ArrayListを配列で組もうと思うのですがどうしたらいいのですか?
AL[2][i].add("a"); // arraylist型変数の2個目に追加
↑みたいな事がしたいです。
0305デフォルトの名無しさんNGNG
>>304
宣言がないと何がやりたいのかさっぱりわからん。
0306304NGNG
private ArrayList[] AL;

AL=new ArrayList[5];
for(int i=0;i<3;i++){
AL[2].Add("a");   添え字2番目のところにaを追加
}
でやろうとしたらうまくできません。

やっぱりArraylistを複数使うには、
private ArrayList AL,AL2,AL3,Al4 ・・・;
AL=new ArrayList();
AL2=new ArrayList();
AL3=new ArrayList();
・・・・
の様にするしかないのかな・・・
0307デフォルトの名無しさんNGNG
AL[2] = new ArrayList();
0308デフォルトの名無しさんNGNG
>>306
配列を作るのと、その中のものをつくるのは別物。

ttp://pc5.2ch.net/test/read.cgi/tech/1065196964/
0309304NGNG
AL=new ArrayList[5];
AL[0]=new ArrayList();
Newを2回しないといけないとは知らなかった。
0310デフォルトの名無しさんNGNG
>>309
ArrayList[] l_aArrayList =
  new ArrayList[] {new ArrayList(),
             new ArrayList(),
             new ArrayList(),
             new ArrayList(),
             new ArrayList()};
っていう書き方をしたらわかる?
0311デフォルトの名無しさんNGNG
>>309
> AL=new ArrayList[5];
AL[0]のコンストラクタは何時呼ばれるんだ?
ArrayListにデフォルト・コンストラクタが無かったらどう書くんだ?
AL[0]とAL[1]のコンストラクタに違う引数を渡したい時は?
AL[2]にArrayListのサブクラスを入れたい時は?

ってもう居ないか
0312デフォルトの名無しさんNGNG
不確定プログレスバーってある?
0313デフォルトの名無しさんNGNG
君の質問が不確定
0314デフォルトの名無しさんNGNG
不確定テキストボックスってありますか。
0315デフォルトの名無しさんNGNG
>>314
Delphi 6 で XP の manifest を使うと
テキストボックスがかなり不確定になります
0316デフォルトの名無しさんNGNG
>>312
Windows の標準 UI には無いみたいだし、.NET にも無いみたい。
Explorer ではファイル飛ばしたりしてるよね。
0317デフォルトの名無しさんNGNG
不確定プログレスバー


ナイト2000。
0318デフォルトの名無しさんNGNG
>>316
さんくす

SmtpMail.Send() がコールバックくれないからどうしようかと・・
やっぱ適当に動かしチャオ

メーラとか以外と適当だよね。
ある程度計算してると思うけど
100%でずっととまってたり。
0319在日外国人参政権反対NGNG
不安定ツリービュー
0320デフォルトの名無しさんNGNG
>>319
なんか使いづらそうだな・・・
0321デフォルトの名無しさんNGNG
おれのソフト見てくれ〜みたいなスレありませんか?
0322デフォルトの名無しさんNGNG
>>321
書いたC#のコードを晒したいなら>>1のソース置き場とか。
この板に直接書こうとすると連投規制とか行数制限にかかる予感。

バイナリについての評価を求めてるならこのスレでなくて別の適切なスレで
聞いたほうがいい答えが返るんじゃないの。
0323デフォルトの名無しさんNGNG
すみません。ControlCollectionついて教えてください。

ControlCollectionはIListを実装しているはずですが、
ControlCollection.Add(Control value)しかありません。

ControlCollection.Add(object value)の実装は
どこへいったのでしょうか?

また、このような実装は属性かなにかを使えばできるのでしょうか?
0324デフォルトの名無しさんNGNG
>>323
インターフェイスの明示的な実装というものだ。
インターフェイスのメンバを実装させる時に、
int IList.Add(object value) {...}
と言う風に宣言することで、「その型からみて」隠蔽されるようになる。
こうすることでシグネチャが同じインターフェイスメンバと独自メンバが共存できるようになるわけだ。
StringCollectionのインデクサなんかが一番利点を感じられるところだな。

隠蔽されているとは言え実装は強制されているわけで、ではどう呼ぶかというと
「そのインターフェイス型なら確かにそのインターフェイス用のメソッド・プロパティが実装されている」。
つまりIListとして=IListにキャストしてAddを呼ぶと上のメソッドが呼ばれることになる。
0325323NGNG
>>324
詳しい説明ありがとうございました。
数時間悩んでいたので助かりました。
0326デフォルトの名無しさんNGNG
Delphi使いですが、VC#への乗り換えをしたいと
思ってます。
良い本ありましたら教えてください。

Cの文法は知っていますがVC++の経験はありません。
0327デフォルトの名無しさんNGNG
Flash等のツールにあるタイムテーブルみたいなものをC#で作ろう思うのですが、
複数のレイヤーを同期させながらコマを進めるにはどうしたらいいのですか?
0328デフォルトの名無しさんNGNG
>>326
Delphi使いなら、本読まなくてもMSDNだけでいけるかも。
自分はそうだった。
0329327NGNG
コマを進めるにあたって正確な時間を計りながらコマを進めて行きたいのです。
0330デフォルトの名無しさんNGNG
タイマをカウントするスッドレから
各オブジェクトにブロードキャストで通知してもらうとか
0331デフォルトの名無しさんNGNG
sprintfと同じような機能の関数はありますか?
0332デフォルトの名無しさんNGNG
無いです。
0333デフォルトの名無しさんNGNG
Orz.....
month.ToString() + "月" + (ry とかだと醜いからsprintf欲しかったけど
ないならいいです。CodeProjectとかに落ちているかなあ?
0334デフォルトの名無しさんNGNG
String.Format
0335デフォルトの名無しさんNGNG
>>333
頭でけーよ!
0336デフォルトの名無しさんNGNG
>>334
なるほど……

# 日付を例に出すのは良くありませんでしたね
# datetime.ToString("HH時mm分"); とかできますし
0337デフォルトの名無しさんNGNG
FolderBrowserDialog.ShowDialog();を使ってフォルダ選択した後に、
もう一度 ShowDialog();した場合、ルートに戻ってしまいますが、

"C:\WINNT\system32"などを選んだ後に、もう一度ShowDialog();した場合、
そのディレクトリがすでに開いているようには使えないものでしょうか?

TreeViewで似たようなものを自作するしかないのかな?
0338デフォルトの名無しさんNGNG
SelectedPathは{get; set;}だよ?
0339デフォルトの名無しさんNGNG
テラリウム急にやりたくなってインスコしてみた



デフォルトの敵にも負けるorz
0340デフォルトの名無しさんNGNG
DataGridViewCell c = dataGridView1.CurrentCell;
int rno = c.RowIndex;
int cno = c.ColumnIndex;
MessageBox.Show("現在のセル: " + rno.ToString() + "行," +
cno.ToString() + "列:\r\n" +
"値: " + dataGridView1[rno, cno].ToString());

.net2でこんな風に書いたら
角かっこ [] 付きインデックスを 'System.Windows.Forms.DataGridView' 型の式に適用することはできません。
って怒られます。。。どうしたらいいですか?
0341デフォルトの名無しさんNGNG
そりゃDataGridViewにインデクサがないからだろ。
セルの値ならDataGridViewCell.Valueでいいじゃないか。
0342デフォルトの名無しさんNGNG
>>341
ありがとうございましたm(_ _)m
0343デフォルトの名無しさんNGNG
普通は、

static void Main(){
Application.Run(new Form1());
}

だけど、とあるソフトのコード見てたら、

static void Main(){
(new Form1()).ShowDialog();
}

だった。これってApplication.Runと同じかな?なにかメリット・デメリットはある?
0344デフォルトの名無しさんNGNG
>>343
ttp://www.google.com/search?num=100&hl=ja&lr=lang_ja&oe=utf8&q=application%2Erun+showdialog
0345デフォルトの名無しさんNGNG
>>344
どうも。その検索方法をすっかり忘れてた
0346デフォルトの名無しさんNGNG
StreamReader.ReadLine でブロックしている際に、別スレッドから Close を行うと
ReadLine は IOException とかを投げ返してくるのですか?

それと関連して、TcpClient から作成した NetworkStream を StreamReader で包んで、
同じように ReadLine でブロックしている際に TcpClient.Close を行うと
IOException (or SocketExceptopm) が投げられるのでしょうか?

とりあえず、ブロックが解除されればいいのですが……
0347デフォルトの名無しさんNGNG
テラリウムやってるんだけどさ
虫がいないんだよ

誰か無視うpしてくれ
0348デフォルトの名無しさんNGNG
>>346 テストクラス。出力を適当にリダイレクトしてforで1000回ぐらい回してみる。

public class OpenCloser {
   public OpenCloser(int count) {
      string file = count.ToString() + ".txt";
      FileStream fs = new FileStream(file, FileMode.Create, FileAccess.Write);
      StreamWriter writer = new StreamWriter(fs);
      writer.WriteLine(new string('.', 100000) + ".\r\n");
      writer.Close();
      fs = new FileStream(file, FileMode.Open, FileAccess.Read);
      reader = new StreamReader(fs);
   }
   public void Start() {
      Thread close = new Thread(new ThreadStart(Close));
      Thread read = new Thread(new ThreadStart(Read));
      read.Start();
      close.Start();
   }
   StreamReader reader;
   void Close() {reader.Close();}
   void Read() {
      try {reader.ReadLine();}
      catch (ObjectDisposedException ex) {Console.WriteLine("closed");}
      catch (Exception ex) {Console.WriteLine(ex.ToString());}
   }
}
0349デフォルトの名無しさんNGNG
電源オプションに、
会社のデスク
ラップトップ
常にオン
とかありますけど、この設定が変更された場合に、その値を取得したいんですが、どうやったらいいですか?
Microsoft.Win32.SystemEvents
あたりで何とかなりそうなんですけど・・・
0350デフォルトの名無しさんNGNG
>>349
なりません。
0351デフォルトの名無しさんNGNG
なんでそんなマニアックな
0352デフォルトの名無しさんNGNG
>>349
レジストリ調べてみ
0353デフォルトの名無しさんNGNG
>>352
どうもありがとうございマンモス。
レジストリから取得することにします。
0354デフォルトの名無しさんNGNG
マンモス
0355デフォルトの名無しさんNGNG
マンモスマンはかっこよかったよね
0356デフォルトの名無しさんNGNG
そういや、いただきマンモスとかの、「〜マンモス」って、マンモスマンが元ネタなの?
0357デフォルトの名無しさんNGNG
>>338
{get; set;}でしたか、どうもありがとう。
このスレのびるの早いですね。
0358デフォルトの名無しさんNGNG
>>256
のりぴー、じゃねぇの。
0359デフォルトの名無しさんNGNG
まんもすうれぴー?
0360デフォルトの名無しさんNGNG
まんかすうれぴー
0361デフォルトの名無しさんNGNG
そろそろマンモスのAAが出てくるかな
0362デフォルトの名無しさんNGNG
のりぴーのAAだろ?
0363デフォルトの名無しさんNGNG
マンモスマンのAAだろ?
ていうか、スレ違いもいいとこ。
0364デフォルトの名無しさんNGNG
そんなのりぴーももう33歳
0365デフォルトの名無しさんNGNG
class MainClass
{

public static string s ="禿げ";

public static void Main()
{
SetText(s);
Console.WriteLine(s);
}

public static void SetText(string target)
{
target = "ヅラ";
}
}

これを実行すると、ヅラを出したいのに、禿げが出力されます。
SetTextの引数は文字列なのに、参照された s はなんで変更されないんでしょうか?
参照型変数をメソッドの引数にした場合、参照された値も変更されるんじゃないんですか?
0366デフォルトの名無しさんNGNG
>>365
されないです


変数は“単なる名前付け”だと割り切ってしまうとわかりやすいかも

「s」という名前がついた string オブジェクトを SetText の引数として渡す。
SetText では渡されたオブジェクトを target という名前で処理する。

"ヅラ"というオブジェクトを target という名前に指定する
0367366NGNG
ちなみに

『SetText(s);』を『SetText(ref s)』に、
『SetText(string target)』を『SetText(ref string target)』にするとできたりする
0368デフォルトの名無しさんNGNG
>>366
365じゃないが。
おお、すごくわかりやすい説明だ。
私だとつい参照がどうとか言い出したくなってしまう。
0369366NGNG
>>366 は、最終的に s という名前は "禿げ" のままである事に注目


……名前じゃなくて、あだ名の方が適切かも
あだ名だと複数の識別詞がついても違和感ないし
0370365NGNG
なんか微妙に不安なんですが・・・SetText()の中では、
メモリに、s とは別に、target という名前の領域を新しく作って、そこに"ヅラ"を入れてると考えて良いですか?
(s と target が指しているメモリの領域は別なんでしょうか?)

>>368
個人的には、参照どうとか言われたほうが分かりやすいです orz
0371366NGNG
>>370
がんがって説明したのにOTL

メモリの話は正解です。
ちなみに、メモリ内に取った変数には“オブジェクトの場所(つまり参照)”が入っています。
オブジェクト本体は全然別のところにあるんですよ。

変数が作成されるメモリの領域は“スタック”、オブジェクト本体があるメモリ領域は“ヒープ”
0372デフォルトの名無しさんNGNG
ここらへんC,C++やってないとよくわからなくなるんだろうなぁ
0373デフォルトの名無しさんNGNG
ちなみにstringは参照型だが特殊で、変更不可と言うことになっている。
内容が変更される時には自動的に新しく領域が確保される、つまりnewされてるわけだな。
0374デフォルトの名無しさんNGNG
アドレス1丁目の”s”マンションに人気者の”禿げ”の人が住んでいます
アドレス2丁目の”target”マンションに嫌われ者の”ヅラ”の人が住んでいます

ある日、禿さんがヅラさんに呼ばれtargetマンションに遊びに行きました
すると、ヅラさんはおまえも「ヅラかぶれよ!」と言われ禿げさんはヅラにされてしまいました
しかし、その禿げさんは影武者でホンモノはsマンションでテレビを見てたとさ。
0375デフォルトの名無しさんNGNG
>>373
まるでBASICみたいだね
0376デフォルトの名無しさんNGNG
>>373
そこは特殊ではないと思うのだが…
0377デフォルトの名無しさんNGNG
>>374
わかりにくい
0378デフォルトの名無しさんNGNG
>>365
>target = "ヅラ";
targetの参照先が新しいstringオブジェクト"ヅラ"に変わっただけ。
0379デフォルトの名無しさんNGNG
>>376
明示的に new しなくても勝手に new されるってことじゃ?>参照型だが特殊
0380デフォルトの名無しさんNGNG
>>365
>参照された s はなんで変更されないんでしょうか?

「target = "ヅラ";」は、targetの参照先の内容を"禿げ"から"ヅラ"に変えるのではなく、
targetの内容を"禿げ"のアドレスから"ヅラ"のアドレスに変えるから。
アドレスってのはちょっと嘘かも。

(例)
>>365のイメージ(間違い)
  sの内容:00001(番地)
  targetの内容:00001(番地)
  00001の内容:禿げ
    ↓
  sの内容:00001(番地)
  targetの内容:00001
  00001の内容:ヅラ

実際の動作
  sの内容:00001(番地)
  targetの内容:00001(番地)
  00001の内容:禿げ
    ↓
  sの内容:00001(番地)←ここは変わらない
  targetの内容:00002(番地)←ここが変わる
  00001の内容:禿げ
  00002の内容:ヅラ
0381デフォルトの名無しさんNGNG
アドレス渡してるんじゃなくて、値だけをコピーして渡してるんだよな

ポインタとか知ってたら対した事ないんだけどな

無理なもんは無理って覚えたほうが早いな
0382デフォルトの名無しさんNGNG
>>381
いやアドレス(のコピー)を渡してるよ? それが構造体じゃない限り。
0383デフォルトの名無しさんNGNG
>>382
アドレスのコピーなんてありえねーだろ。バカ?
アドレスを保存してるレジスタセグメントのアドレスを渡すならわかるけどな
アセンブリもわかんねー糞はひっこんでろ
0384デフォルトの名無しさんNGNG
のりぴー33歳かよ・・・
0385デフォルトの名無しさんNGNG
>>383
藻前らBASICで文字列扱う時にメモリのことなんかいちいち考えてたか?
ここはC#スレなんだからそんなこと知らなくて結構
使えればいいんだよ
0386デフォルトの名無しさんNGNG
みんながみんなお前みたいに志の低い人間じゃないんだよ(・∀・)
0387デフォルトの名無しさんNGNG
レジスタセグメントって一体なんだろ…
0388デフォルトの名無しさんNGNG
>>383
ええと、たとえばintを引数にすると、そのintの値をコピーして関数に渡す、と表現するよな。
アドレスと言いうのは実際には4バイトなり8バイトなりの整数値だよな。
そうすると、引数にクラスオブジェクトを渡すってことは
適当なオブジェクトhogeを指すアドレス値のコピーを渡すって表現でなにかまずいの?
0389デフォルトの名無しさんNGNG
>>388
383はただの馬鹿だから放置しる。
0390デフォルトの名無しさんNGNG
DataGridViewで現在のセルを設定するのはどうしたらいいですか?
↓じゃダメみたいです。。。
DataGridView1.CurrentCell = new DataGridViewCell(0, 0);

0391デフォルトの名無しさんNGNG
>>390
ヘルプは持ってるよな?
DataGridViewのところにsetting the current cellって項目がしっかりあるぞ。
0392デフォルトの名無しさんNGNG
>>391
ごめんなさい、ヘルプ無いみたいです。
無料で配布してるC#2005Expressのベータ?でやってます。。。
プログラミング初めてです。。。
今ちょうどVS2005のMSDNを見つけたのでなんとかできました。
ありがとうございました。
0393デフォルトの名無しさんNGNG
いや、メニューバーのヘルプ(H)にインデックスとかないか?
それをヘルプと言ったわけだが。
MSDNと言うと普通オンラインのを指すような気がするし。
私自身はSDKとDocument Explorerしか使ってないからあんまりはっきりとは言えないが。
0394デフォルトの名無しさんNGNG
>>393
インデックスありました。
ただ検索してもDataGridViewの項目は見つからなかったです。。。
インストール方法がおかしかったんでしょうか。。。
MSDNはオンラインのです。
http://msdn2.microsoft.com/library/yc4fsbf5.aspx
0395デフォルトの名無しさんNGNG
>>394
ttp://www.microsoft.com/japan/msdn/vstudio/2005/express/vcsharp/readme/
の2.5かな?
インストール時にMSDN Expressを入れなかったのが原因なのかねぇ。よく分からないけど。
0396デフォルトの名無しさんNGNG
>>395
そこを見てインストールしてみたら
ちゃんとヘルプが表示されるようになりました。
ありがとうございました〜!
0397デフォルトの名無しさんNGNG
すいません、、メッセージループって何ですか?
マウスとかキーボードからのアクセスを感知するための、監視システムみたいなもんですか?

詳しく説明されてるサイトとかありましたら教えてください。
0398デフォルトの名無しさんNGNG
>>397
多分スレ違い。
0399デフォルトの名無しさんNGNG
>>397
主にWindowsの仕組みの話なのでWindowsプログラミングのスレで
聞いたほうがより詳しい答えが期待できるのでそっち推奨。
0400デフォルトの名無しさんNGNG
マウスカーソルがフォーム上のある領域に入ったらアイコンが変わるって事を
したいのですが、どの様にしたらいいのですか?
0401デフォルトの名無しさんNGNG
MouseMoveイベントで範囲を判定してアイコンを換える。
むしろどこで悩んでるの?
0402397NGNG
わかりますた。ていうかアスキーのデジタル用語辞典に載ってますた。
.NET限定の話じゃなかったんですね。
0403デフォルトの名無しさんNGNG
現在Form1が存在します。その中に、入れ子状態でForm2とForm3を作りました。Form2とForm3の中にはそれぞれ、TabControlと3つのTabPageを配置しました。
 Form2のあるTabPageをドラッグしてForm3のTabContorlに追加し、結果としてForm2にはTabPageが2つForm3にはTabPageが4つというのを実現したいです。
 ぶっちゃけVS.NETっぽいDockingWindowを既製品使わないで作ってみたい暇人なのですが、作れないと夜も眠れないので、ヒントをちょびーーっと教えてください。
0404デフォルトの名無しさんNGNG
ドラッグ中はフォームの上に乗って無くてもマウス移動追跡できるっけ?
出来る前提で。

ドラッグ開始
↓
枠描画
↓
ドラッグ終了
↓
元のフォームの上だったら何もしない。
別のフォームの上だったらタブ移動。
何も無いところだったら新しいフォーム作る。
0405デフォルトの名無しさんNGNG
>ドラッグ中はフォームの上に乗って無くてもマウス移動追跡できるっけ?

ドットネットでは、OnMouseDownで自動的にCaptureが呼ばれてるみたいやね。
0406デフォルトの名無しさんNGNG
>403
そのての奴だが、ドラッグスタート時に全体を覆う透明ウィンドウ作ってそこでどのウィンドウの上にあるか処理したほうがすっきりしない?
いっこいっこのウィンドウでやると煩雑になる希ガス
0407デフォルトの名無しさんNGNG
System.Windows.Forms.ListViewにチェックボックスオプションをつけたものを使用しています。
デフォルトの動作ではアイテムのダブルクリックでこのチェックボックスのOn/Offが切り替わるのですが、これを抑制する方法についてご存知の方いませんか?
0408デフォルトの名無しさんNGNG
TabControlで右クリでもタブを切り替えることって可能ですか?できそうだけど何故か見つからない。

可能ならご教授ねがいたいす。
0409デフォルトの名無しさんNGNG
>>408
TabControl の MouseDown イベントハンドラに以下のコードを追加

if (e.Button == MouseButtons.Right) {
    for (int i = 0; i < tabControl1.TabCount; i++) {
        if (tabControl1.GetTabRect(i).Contains(e.X, e.Y)) {
            tabControl1.SelectedIndex   = i;
            break;
        }
    }
}
0410408NGNG
>>409
できました。禿しくサンクス。

GetTabRectか…
配置されてるタブ本体の範囲かと思ってスルーしてたよ。
でも考えてみるとそれだったら全部のタブ同じ値になるから存在価値なくなるか。
0411デフォルトの名無しさんNGNG
C♯で定数の配列はどう作ればいいですか?
いろいろやってみましたができませんでした。。。
0412デフォルトの名無しさんNGNG
>>411
ラッパークラスを1つ作ってインデクサに get のみを記述すれば OK
Array からの派生はできないから厳密には配列じゃないけど、記述上は配列っぽくなる。
0413デフォルトの名無しさんNGNG
>>409
美しいコードだー
0414409NGNG
>>413
twintail2 のコピペだった気がする(笑
0415デフォルトの名無しさんNGNG
個人的には極めて自然で自分でもこう書くだろうと思ったんだけど、
413の人はどんなコードを思いつくんだろう?
0416デフォルトの名無しさんNGNG
他の.NETコントロールと比べると、美しくないくらいだと思うがな。
 tabControl1.Tabs[i].Rectangle.Contains(e.X, e.Y)
のほうが、統一感がある。
まぁ、Rectangle以外に何のプロパティがあるのかと言われると困るが。
0417デフォルトの名無しさんNGNG
>>416
tabControl1.TabPages[i].Bounds.Contains(e.X,e.Y)
0418デフォルトの名無しさんNGNG
>>417
これだとタブページ内の領域なのかタブの領域なのか分かんない罠
おそらくタブ部分を管理しているのは TabPage じゃ無くて TabControl だから、俺は

tabControl1.GetTabRect(i).Contains(e.X, e.Y)

が今まで上がったコードの中で一番わかりやすい。
0419デフォルトの名無しさんNGNG
わざわざTabControl.Tabクラス(とそのコレクション)作ってそれで管理、なんてのは冗長に過ぎると思うなぁ。
そうするとTabクラスとTabPageクラスにも直接的な関係を持たせたくなってしまうし。
0420デフォルトの名無しさんNGNG
Enumで各要素に16進数など割り当てることが可能ですよね。
public enum Week { Sun = 0x01, Mon = 0x02, Tue = 0x04, ・・・
のような感じで。

そこで、 Week days = Week.Mon | Week.Thu | Week.Wed;
のように使われていた時、daysにMonのフラグが立っているか
チェックしたい時に、スマートな記述方法はどうするのでしょうか?

0421デフォルトの名無しさんNGNG
if ((days & Week.Mon) != 0) {...}

なにが「そこで」なんだろう?
0422デフォルトの名無しさんNGNG
>>420
(days&Week.Sun)!=0
0423デフォルトの名無しさんNGNG
なるほど。有難うございました。お手数おかけしました。
首吊ってきます・・・orz
0424デフォルトの名無しさんNGNG
>>421
この場合のdaysはint?
できればWeekと関係のある型にしたいと思ったけど適当なのが見つけられない。
0425デフォルトの名無しさんNGNG
>>421
そこで……って『@』と同じ意味だと思ったけど、違うのか?
0426デフォルトの名無しさんNGNG
>>425
いや、なんか16進数で指定したら特別な処理が必要なんじゃないかと疑っているように読めたから。
本質的に1段落目そのものが不要なわけで。

>>424
例で示されているとおりWeek型だけど?
デフォルトではintだわね。
0427424NGNG
>>426
勘違いしてました。感謝。

列挙型って定義されてない値(この場合0x03とか)も入るのね。
知りませんでした。
0428デフォルトの名無しさんNGNG
知り合い(コンソールはなんとかいける)にWinアプリの作り方教えるハメになったんだけど、掴みはこんな感じでいいのかな?
なんか変なとこあったらツッコミキボン。
http://venus.aez.jp/uploda/dat/upload11013.txt
0429デフォルトの名無しさんNGNG
>>428
そうだな、ぶっちゃけ対象者のレベルがわからん、というかブレてる。
usingの説明をする辺り触れたこともないのか、
メソッドやらプロパティやらは理解してるのか、
継承(大胆に言い換えればオブジェクト指向)の理解はどの程度なのか。

メッセージループの解説なんか正直初心者には不要。おまじないと言っておく。
Mainメソッド内の書き換えのところも蛇足。
Windows.Formsネームスペースはイクナイ。System.Windows.Forms。たまたま頭の6文字が同じだっただけのこと。


あと、ほんとにさわりだけなのでツッコミどころも探しづらい。
0430428NGNG
STAThreadとMTAThreadの説明も入れようと考えてましたが、やめますた。orz
そういや、本人の書いたソース見たこと無いや。頭痛。
0431デフォルトの名無しさんNGNG
教えてると「おまじない」はよく使うんだけど、いちいち気になるらしく、突っ込んで聞いてくる香具師がいる。
んで、教えると「ワケわからん」で、パニック状態になる香具師どうにかしてくれ。
0432デフォルトの名無しさんNGNG
ドラッグドロップでドロップされた位置を知るために
Forms.DragEventArgs e
のX,Y座標を取得してるのですが、値がウィンドウ座標ではなくディスプレイ座標になってしまいます。
この座標値をウィンドウ座標に変換するにはどうしたらいいのですか?
0433デフォルトの名無しさんNGNG
this.PointToClient(new Point(e.X, e.Y));
0434デフォルトの名無しさんNGNG
>>431
教える方も少しは学習するべきだと思う
0435デフォルトの名無しさんNGNG
と開き直る奴も多い
0436デフォルトの名無しさんNGNG
>431
教え方が悪いことも自覚しよう
0437デフォルトの名無しさんNGNG
と開き直る奴も多い
0438デフォルトの名無しさんNGNG
うーんSystem.Windows.Forms.DataGridで
行ヘッダーの高さをマウスで変更できるのをやめさせたいのだが
方法がつかめない。

さんざん検索したつもり。
0439デフォルトの名無しさんNGNG
い~から既存の奴つかうのやめて自作しろって
そのほうが速い
0440デフォルトの名無しさんNGNG
>>439
どうやって自作するんですか?
PictureBox とかに罫線を描画しまくるんですか??
いい知恵があったら教えてちょ~だいマセ。
0441デフォルトの名無しさんNGNG
継承。
ロマサガ2やってりゃわかるが、最終皇帝を強くするために技覚えまくったろ。
0442デフォルトの名無しさんNGNG
わかんねぇよ、どのあたりのクラスから継承するんだよ。
0443デフォルトの名無しさんNGNG
>440
いえ、フォームに気合で描画です.
ほかのコントロールも結局は同じことしています.
0444デフォルトの名無しさんNGNG
>>443
予想はしていたが、ちょっと気が遠くなるなー。
でも、いまどきのフラットスタイルのGUIならば、なんとかなりそうだ。
0445デフォルトの名無しさんNGNG
なんでフラットなGUIに回帰したのかね。
凸凹コントロールスタイルはCoolじゃないとBillが言ったのか?
(となると漢字Talk6はvery Coolだ)

ライブラリや言語の話じゃないな、スマン.....
0446デフォルトの名無しさんNGNG
Cool!! Cool!! Cool!!
0447デフォルトの名無しさんNGNG
>>445
Webの流行が原因。
Webサイトはたいていフラットなデザインだからな。
0448デフォルトの名無しさんNGNG
フラットのほうが(・∀・)イイ!!
立体ボタンはごてごてしすぎ
0449デフォルトの名無しさんNGNG
そこで3Dディスクトップですよ
0450デフォルトの名無しさんNGNG
まぁMicrosoftWindowsを一から作れってこった。

無能ども。
0451デフォルトの名無しさんNGNG
FormのなかにFormを表示するにはどうしたらいいですか?
0452デフォルトの名無しさんNGNG
>>451
MDI?
0453デフォルトの名無しさんNGNG
あるいはこんなの?
ttp://dobon.net/vb/dotnet/form/formwithinform.html
0454デフォルトの名無しさんNGNG
>>453
ありがとうございました。
大変助かりました。
0455デフォルトの名無しさんNGNG
http://www.atmarkit.co.jp/fdotnet/csharp_abc/csharp_abc_015/csharp_abc04.html
に実数のソートサンプルがありますが整数部しかソートされていません。
これを小数部の所までソートするにはどうしたらいいのですか?
0456デフォルトの名無しさんNGNG
>>45
 そんな釣りにクマー
0457デフォルトの名無しさんNGNG
自分のクラスのコンストラクタを呼び出すとき、
this()
と書いて呼び出せるの?
0458デフォルトの名無しさんNGNG
コンストラクタ初期化子としてはそうだな。
普通のメソッドからはコンストラクタは呼び出せないのでそういうのが必要な場合は
その部分だけプライベートメソッドに切り出して呼び出す。
0459457NGNG
例えば、

class A {
public A(String name) {
// ここからAクラスのコンストラクタA(String, bool)を呼び出したい。
}

public A(String name, bool flag) {
}
}

ときどうすればいいのでしょうか?

this(String, bool)としたらコンパイラに怒られました。
0460デフォルトの名無しさんNGNG
せっかくコンストラクタ初期化子って名前出したんだから調べようや。
ヘルプのコンストラクタのところ見るとかさ。
0461457NGNG
>>460
すいません…。
ありがとうございました。
0462デフォルトの名無しさんNGNG
>>430
さんの言うSTAThreadとMTAThreadってどういう意味があるんでしょう?

STAThreadはどうやらCOMに関係あるらしい事までしかわからないし
MTAThreadに至っては検索してもヒット数が少なすぎて・・
0463デフォルトの名無しさんNGNG
前スレで話題になったな。
COMに関してはこの辺。
ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconinteropmarshalingoverview.asp
ウィンドウがSTAThreadなのはこの辺。
ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpcondevelopingmultithreadedwindowsformscontrol.asp
0464デフォルトの名無しさんNGNG
両方ともCOMだ
シングル・スレッド・アパートメントとマルチ・スレッド・アパートメントの略
関係ないがインド人はスレッドのことをトレッドトレッドといってたので最初は何いってるかわからんかった
0465デフォルトの名無しさんNGNG
>>463
>>464
ありがとうございます

むぅ。むつかしい
とりあえず

「マーシャリング」
「COM アパートメント」
から勉強して出直してきます
0466デフォルトの名無しさんNGNG
STA/MTA関連で追加。
ttp://www.borland.co.jp/delphi/papers/com/com02.html
なかなかグラフィカルで分かりよい。
//COMerには常識的なことなのかな……。
0467デフォルトの名無しさんNGNG
IEの「ファイルのダウンロード」ダイアログを使う方法を教えてください。
非IE版のJaneでも使用されているので、IEに限らず他のプログラムから利用できると思われます。
0468デフォルトの名無しさんNGNG
Janeならソースがあるジャン
0469デフォルトの名無しさんNGNG
openFileDialogで取得したFileNameを別のFileNameを取得したときも残しておくにはどうすればいいですか?
0470デフォルトの名無しさんNGNG
>>469
適当な変数にとっておけ
0471デフォルトの名無しさんNGNG
>>467
http://jane.cun.jp/test/read.cgi/win/1039936961/540-

shdocvw.dllのDoFileDownloadっていう関数のようだが、Delphiは分からないので、引数とかは自分でがんばってくれ。
0472デフォルトの名無しさんNGNG
button1のプロパティを全部button2にコピーする簡単な方法ってありますか?
0473デフォルトの名無しさんNGNG
>>471
[DllImport("shdocvw.dll", CharSet=CharSet.Unicode)]
extern static int DoFileDownload(string lpszFile);
でできました。ありがとう。
0474デフォルトの名無しさんNGNG
イベントハンドラの変数を他のイベントハンドラから参照する方法ってあるの?
0475デフォルトの名無しさんNGNG
>>474
質問が漠然としすぎなので具体的に。
0476デフォルトの名無しさんNGNG
フィールドに代入しとけ。
0477デフォルトの名無しさんNGNG
タブ型のメモ帳みたいなの作ろうと思って
上書きするときにopenfiledialogで取得したfilenameを使って上書きしようと思ったんですけど
たとえばA.txtを開いてB.txtを開いたあとA.txtを上書きしようと思ったらもちろんのことfilenameはB.txtのものであるわけです。
タブを作るときにopenfiledialogのfilenameで一応残してあるのですが・・・

0478デフォルトの名無しさんNGNG
……。
ふらっとC♯
http://pc5.2ch.net/test/read.cgi/tech/1065196964/

TabPage.Tag辺りに入れとくとか、それ用の管理クラス作るとか。
0479デフォルトの名無しさんNGNG
>>478
そちらのスレッドの方がふさわしいですね。
スレ汚しすいませんでした。
0480デフォルトの名無しさんNGNG
ADO.NETの接続プールとかが、いまいち理解できないんだけど、
たとえば二つのフォームそれぞれにConnectionコントロールを作った場合、
それだけで二つ分の接続を使ってしまうってことになってしまうんでしょうか?
0481デフォルトの名無しさんNGNG
接続プールがどういうもんで何のためにあるのか勉強しよう。
0482デフォルトの名無しさんNGNG
スレ違い覚悟で質問。
enumの名前はどうつけたらいいか迷ってる。
例えば車の名前のenumを作るとしてCarとすると、
同名のクラスやプロパティが作れない。
Carsと複数形にすると、複数形のプロパティを作りたくなったときに困るし、
複数形にすることを好ましくない作法とする向きもある。
(Keys列挙体とかクラスライブラリにもあるんだけどね)
じゃあCarName? 他のenumも全部〜Nameにしないと統一感がないし、
しかしそれでは冗長だし。
何かいい基準ってない?
0483デフォルトの名無しさんNGNG
>>482
 CarType もしくは CarEnum でどうよ?
0484デフォルトの名無しさんNGNG
>>482
俺もCarTypeでいいと思う。
それはそうと複数形のenumはFlagsAttributeがついてないか。

>>483
ガイドライン曰くEnumサフィックスつけるなとさ。
0485デフォルトの名無しさんNGNG
そもそも車の名前で列挙体ってのもどうだろう? と思ってしまったりしなく無くもないこともない。
まあ、私なら普通にCarNameだろうなぁ。
でも例えばブルーバードかグロリアか、ならCarTypeにするだろうし。
あと複数形かどうかは基本的にFlags属性つきかどうかで分けてるよ>.NET Framework
0486482NGNG
>>483-485
レスありがとう。
プレ(サ)フィックスでEnumはやめれ、というのは何かで見た気がする。
クラスライブラリの単/複数はそういう違いがちゃんとあったのか。
けして恣意的なものじゃなかったんだ。(日本語と違って
その辺りは明確に区別する言葉が発祥だしね)

すごく参考になりました。
サフィックスにName、Typeを適所で使い分けてみる。
0487デフォルトの名無しさんNGNG
string data = "abc゚";
int index = data.IndexOf("c");

これだとindexは2のはずなんですが、なぜか-1になってしまいます。

 ゚ ←が検索文字列の右に含まれていると正しく検索できないのですが、
なんででしょうか。。
0488デフォルトの名無しさんNGNG
>>487
Unicodeの仕様について余り詳しくないからはっきりとはいえないけど、
濁点・半濁点は直前の文字と合わさって一つの文字として判定されて居るんだと思う。
ポはホと゚の二文字じゃなくてあくまでポと言う文字として考える、と。
文字の情報として、分けたら意味を失うわけで。
ちなみに全角の濁点半濁点も同じだった。

で、それとは別にstringはcharの配列でもあるわけで、abc゚は4つのcharを持っているから
Lengthは4を返す、と。
そういうことではないかな。
0489デフォルトの名無しさんNGNG
EnCar
0490487NGNG
>>488
なるほど!そういうことだったのですか。
仕方ないので一文字ずつ判定して検索することで解決しました。
わかりやすい説明サンクスでした。
0491デフォルトの名無しさんNGNG
しょうもない質問なのですが、
エクセルより劣る見た目よさげなグラフ機能を自作しようと、休日がんばっているのですが、
GDI+とC#+DirectX9どちらで実装するほうが良いのでしょうか。
0492デフォルトの名無しさんNGNG
何を以て「良い」のかわからないので答えようがありません。
0493デフォルトの名無しさんNGNG
3DでぐるぐるしたいのならDirectX9と適当に答えてみる。
0494デフォルトの名無しさんNGNG
Windows フォームのPanelの上にフォームを
this.formHoge.TopLevel = false;
this.panel1.Controls.Add(this.formHoge);
とかで貼り付けています。

this.panel1.AutoScroll をTrueにしてスクロールバーを自動表示させたいのですが
formHoge.Sizeの高さを5000とかすると
デスクトップウィンドウのサイズ制限にひっかっかってしまい
タスクバーをのぞいたデスクトップウィンドウのサイズまでしか拡張できません。

どのようにすればこの制限を解除できますが?
0495デフォルトの名無しさんNGNG
>>494
設計に問題がある

終了
0496デフォルトの名無しさんNGNG
TcpClient tcpcl = new TcpClient("hoge", 5678);
StreamWriter sw = new StreamWriter(tcpcl.GetStream(), Encoding.ASCII);

StreamWriter.Close には『現在の StreamWriter と基になるストリームをクローズします』と書いてありますが、
もしかして上のように作成した sw って tcpcl が生存している間は破棄したらマズイですか?
0497デフォルトの名無しさんNGNG
>>496
まだ使いたいんならまずいんじゃないの?
0498デフォルトの名無しさんNGNG
GotDotNetJapanとAtmark(@)ITの掲示板は、
どっちが雰囲気がいい?
0499デフォルトの名無しさんNGNG
自分で確認すれ。
0500デフォルトの名無しさんNGNG
どっちかといえばGotDotNetJapanのほうか
まあ好き好きでは・・
0501デフォルトの名無しさんNGNG
Visual C#.NET Standard2003だけを持っているんですが
ユーザコントロールのテンプレートが出ないんですけど
なんか方法ありますか?
0502デフォルトの名無しさんNGNG
MSN Messenger の「Windows へのログオン時に Messenger を実行する」みたいに
自動でexeを実行するにはどうしたらいいんですか?
0503デフォルトの名無しさんNGNG
>>502
Windows サービス アプリケーション
でヘルプを調べてみそ。
0504デフォルトの名無しさんNGNG
>>502
ヘルプくらい読もうね。

Windows.UserLogon += new EventHandler(this.Execute);
0505デフォルトの名無しさんNGNG
>504
それちょっと感動した。
0506デフォルトの名無しさんNGNG
http://mahoro.hazukicchi.net/img/img20041018234239.jpg
0507デフォルトの名無しさんNGNG
ニートは歴史に名を残すのか?
0508デフォルトの名無しさんNGNG
いくら一部をいじっているとはいえ、現金を写して公開するのは違法。
0509デフォルトの名無しさんNGNG
スキャンするだけで確かタイーホだったよな?
0510デフォルトの名無しさんNGNG
C#を1時間でマスターしたい
Javaはマスターしてる

つかかってるのは次の2つだ
・stringやらintやらを new するってなんなんだよ。これはクラスなのか?
・delegateって何?Javaでいうと何なの?actionPerformedとかAppletのinit()とかか?

さぁ教えやがれ
0511デフォルトの名無しさんNGNG
>>510
Javaをマスターしてるとはおもえん。
0512デフォルトの名無しさんNGNG
>>510
Javaをマスターしてるとはおもえん。
0513デフォルトの名無しさんNGNG
>>510
Javaをマスターしてるとはおもえん。
0514デフォルトの名無しさんNGNG
>>510
delegate = メソッドを引数にとってインスタンスをつくり、そのメソッドと同じような働きをする。
ま、単純にいえばカプセル化。
イベント機能用だろうから、デリゲート単独で使うことはほとんど無いと思う。

class MainClass
{
delegate void HageDelegate(string hage);//デリゲート宣言

public static void Main()
{
MainClass c = new MainClass();
HageDelegate deleg = new HageDelegate(c.MakeHage); //メソッドを引数に取り、デリゲートのインスタンス作成(戻り値の型、引数の数と型は対象メソッドと同じにする)
deleg("hage"); //対象にしたメソッド(ここではMakeHage)と同じ働きをする。
}

public void MakeHage(string s)//デリゲートの対象メソッド。画面に引数の文字列を表示するだけ
{
Console.WriteLine(s);
}
}
0515デフォルトの名無しさんNGNG
タブコントロール内のtabPageが隣のページに切り替わった
というイベントを取得するにはどうすればいいのですか?
0516デフォルトの名無しさんNGNG
>>514
わかったわかったー♪
これで先に進めるよ〜♪お兄ちゅんありがとう☆
0517デフォルトの名無しさんNGNG
>>515
TabControl.SelectedIndexChangedイベント。
隣のページって限定なら、あらかじめ現在のページのインデックスを記録しておいて、
切り替えイベントが起きてから、移動前後のIndexを比べて、隣かどうか判定。
0518デフォルトの名無しさんNGNG
new Form().Show();

こんな書き方出来ますか?
0519デフォルトの名無しさんNGNG
>>518
出来る。当たり前。
ていうか、どう見ても釣りだよな・・・orz
0520デフォルトの名無しさんNGNG
ワラタ
0521デフォルトの名無しさんNGNG
>>518
やってみれば分かるだろ。
ていうか、どう見ても釣りだよな・・・orz
0522デフォルトの名無しさんNGNG
ハゲタ
0523518NGNG
>>519
当たり前ですか…。
スイマセン…。

>>520
スイマセン…。

>>521
そうでした…。
スイマセン…。

>>522
ご愁傷様です。
スイマセン…。















プッ
0524デフォルトの名無しさんNGNG
なんだ、かっこなしでできるのか。
俺はいつも (new Form()).Show()ってやってたぜ。
思い込みは良くないな。

これでソースの可読性が少し上がった。
0525デフォルトの名無しさんNGNG
>>524
カッコを外したって可読性の面ではよろしくない書き方だと思うぞ。
0526デフォルトの名無しさんNGNG
string s = new StreamReader("filename",Encoding.Default).ReadToEnd();
こんなん普通にやるから、>>518がなんで疑問に思うのかさえ理解不能。
0527デフォルトの名無しさんNGNG
バケラッタ
0528デフォルトの名無しさんNGNG
ひとつのプロセスがopenできるsocketの最多数を
を教えて下さい。
「ソケット && WSAEMFILE」とかでgoogったけど
解らんかった。
擦違い・簡便!
0529デフォルトの名無しさんNGNG
それぐらい自分でやってみるがよろし。
試せばいいことをやらない人が多すぎ。
0530デフォルトの名無しさんNGNG
そ、そ、そんなぁ〜
ごもっともではございますが・・・
しかし、レス、はやっ
0531デフォルトの名無しさんNGNG
Exceptionとかデバッガ上でウオッチウィンドウにMessageプロパティの値が表示されていますが、
自作のクラスでそれと同じように任意の値を表示させるにはどうしたらいいのでしょうか?
0532デフォルトの名無しさんNGNG
市販のアプリで、.NETで書かれてるものってあるんでしょうか?

やはり、まだ市販のものはネイティブC++が主流なんでしょうか?
0533デフォルトの名無しさんNGNG
>>532
一般人が使うアプリはまだC++だよ。
だってVS2003のツールでスクランブルをかけれるとはいえ
.NETアプリは逆コンパイラにいかいことができちゃうから
それに速度は遅いしね。

市販とは違うが糞なシェアウェアには.NETのものも出てきてるよ
Vectorとかいけば解る。RSSアプリとか。
0534デフォルトの名無しさんNGNG
XMLDocumentクラスなどを使って深いタグを検索するにはどうすれば
いいのでしょうか・・・

例えば
<root>
  <a>
0535↑ミスです。すみませんNGNG
XMLDocumentクラスなどを使って深いタグを検索するにはどうすれば
いいのでしょうか・・・

例えば
<root>
  <a>
    <b>
      <c>
         <d>100</d>
         <d>200</d>
         <d>300</d>
      </c>
    </b>
  </a>
</root>
のような構造になっている場合、
XmlElement root = xmlDoc.DocumentElement;
XmlNodeList nodeList = root.SelectNodes("a/b/c/d");
として、
foreach(XmlNode node in nodeList){
  string str = node.Value;
   ・
   ・
}
と取得しようとしたのですがダメでした。(ひとつもマッチしない)
a/b/c/d 形式では深いタグは対応できないのでしょうか?
教えて頂けると大変助かります。
どうか宜しくお願いいたします。
0536デフォルトの名無しさんNGNG
あとは速度が速ければ言うことないんだが。。。orz
0537デフォルトの名無しさんNGNG
>>535
string xml = "<r><a><b><c><d>1</d><d>2</d></c></b></a></r>";
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
foreach (XmlNode node in doc.DocumentElement.SelectNodes("a/b/c/d"))
   Console.WriteLine("{0} = {1}", node.Name, node.InnerText);

問題なく拾えてるが……。
ちなみにXmlElement.Valueはnullが返って来ちゃうぞ。
0538デフォルトの名無しさんNGNG
>>536
Javaよりは速いと思うが・・・もっともVMのメーカーにも夜が。
0539デフォルトの名無しさんNGNG
.NET製市販アプリがでるのは何時頃なんですか?
0540デフォルトの名無しさんNGNG
まずMSが.NETでOfficeを出してお手本を示して欲しいな。
3年ぐらい先かな。
0541デフォルトの名無しさんNGNG
longhornが出てからの話。
0542デフォルトの名無しさんNGNG
>>539
もう出てる。
0543デフォルトの名無しさんNGNG
>>539
Delphi 8
0544デフォルトの名無しさんNGNG
そもそもVS.NETからして.NETベースだな。
//完全に.NETってわけではないが。
0545デフォルトの名無しさんNGNG
VS.NETのもっさり具合は勘弁してほしい。
0546デフォルトの名無しさんNGNG
書籍やサイトの検索でも原因が分からず
どなたかお助けください。
あまりに初歩的な質問で凹み気味(´・ω・`)

コンソールアプリケーションのソリューションを作成し
以下のソースを実行すると日本語が化けます。
namespace ConsoleApplication1 {
  class Program {
    static void Main( string[] args ) {
      Console.WriteLine( "hello" );
      Console.WriteLine( "こんにちは" );
    }
  }
}
※下記は全角スペースでインデントしています。
日本語の表示には何か設定が必要なのでしょうか?

環境 Windows2000 SP4
Visual C# 2005 Express Edition Beta
0547デフォルトの名無しさんNGNG
>>546
XP VS2003では問題なし。
0548デフォルトの名無しさんNGNG
英語版を使ってるとか? >VC#2005
//いやそれで文字化けるとも思えないが……
0549546NGNG
以前は英語版を使っていたのですが、同様の現象が起きていました。
(現在は手元にないので確認できません)

その後、日本語版が公開されたので現在は
日本語版を使っていますが現象は同じです。

やっぱりみんなは化けないんだ…(つдT)
0550デフォルトの名無しさんNGNG
csc.exeでコンパイルしたのをコマンドプロンプトで実行しても化けるの?
VC#でビルドしたのをコマンドプロンプトで実行したら?
0551デフォルトの名無しさんNGNG
うちでは問題ない(OSはXPだけど)
ていうか、OSから再インスコしてみたら?
0552546NGNG
>>550
> csc.exeでコンパイルしたのをコマンドプロンプトで実行しても化けるの?
すみません。それを未だ試していませんでした…。
実行してみると…日本語がでました!!
となると VisualStudio 側の設定が何かまずい・・・?
設定も見ては見たのですがまだ分からず(´・ω・`)
教えてクンで恐縮なのですが心当たりがありましたら助けてくださいませ。
0553546NGNG
自己レスです。
以下の設定を変更したところ日本語が表示されました。
オプション→デバッグ→全般→コンソール Window を使用する。
初期設定:チェックあり
変更後 :チェックなし
IDE のコンソールウィンドウが日本語に対応していない…?
それともこれって常識・・・?

ひとまず解決です。
ありがとうございました!
0554デフォルトの名無しさんNGNG
>>533
「一般人が使うアプリはまだC++」ということは、
一般人が使わえないような高いアプリでは、結構.NETになってきてるんでしょうか・・・?
0555デフォルトの名無しさんNGNG
くまー
0556デフォルトの名無しさんNGNG
一般人が使えないような高いアプリではまだC
0557デフォルトの名無しさんNGNG
>>554
企業向けシステムなんかでは結構使われてきてる。
うちもやってる部署あるし。
0558デフォルトの名無しさんNGNG
>>557
まだまだなのか・・・
なんかよく雑誌では、もう世間は.NET一色ですよ、なんて記事も見かけるんだが
0559デフォルトの名無しさんNGNG
Longhornが出るまでは無理だろ
0560535NGNG
>>537
ありがとうございました!
XmlNode使ったらできました!
本当にありがとうございます!
0561535NGNG
>>554
個人のフリーソフトとか、Webアプリならいくつかありますねー。
0562デフォルトの名無しさんNGNG
ASPでやる新規事業なら大抵ASP.NETでないかな。
既存のを.NETで置き換えるのは難しいだろう。
0563デフォルトの名無しさんNGNG
むしろ今から無印ASP始めるところなんか無いだろ
0564デフォルトの名無しさんNGNG
WEBサイトでaspxって拡張子でCGIをやってるところって
全部 IIS6とASP+ の構成なの?
それなら結構サーバーサイドでは普及してると思うが。
0565デフォルトの名無しさんNGNG
>>564
ASPにせよPHPにせよJSPにせよCGIではない、勉強しなおしてこい。
 あと数は少ないがApacheで動いてるのもある。まあ9.5割近くはIISだろうけどな。
0566デフォルトの名無しさんNGNG
>>508-509
いまさらだが、違法でもなんでもない。通貨偽造罪、模造罪ともに
スキャニングでは成立しない。ともに実際に現物を生成しなければ
ならない。
0567デフォルトの名無しさんNGNG
皆さんこんばんは C# webアプリを開発しているものです

ある問題を抱えて2日間はまってしまっています どなたか助けていただきたいです・・・・

DataGrid内の検証コントロールの操作についてなのですが

1DataGridでFooterTemplateにTextboxを配置、それを新規追加の入力項目として
います。それに対して未入力ではないかどうかRequiredFieldValidator
コントロールで検証。このコントロールのプロパティを操作したいのですが、下記の
コードではうまくいきません。(参照先がNULL)

TextBoxの値は取得できるのですが、RequiredFieldValidator になるとうまくいきません
どなたかご教授お願いいたします。

Public void DataGrid1_Command(object source, DataGridCommandEventArgs e)
{
if(e.CommandName == "Add")
{
if(Page.IsValid)
{
if(e.CommandName == "Update")
{
RequiredFieldValidator fr =
(RequiredFieldValidator)e.Item.FindControl"RequiredFieldValidator1");
fr.Enabled = false; ←ここを実現したい
                   
                      (下記省略)

よろしくお願いいたします
長々とすみません・・・・・
0568デフォルトの名無しさんNGNG
すいません。質問させてください。
メソッドから配列を返せますよね?

public int[] foo() {

int[] i = new int[10];

// ...

return i;
}

みたいな感じで。
でも、本や.NET Frameworkのクラスライブラリを見てる限りでは、
上記の書き方が出来るとか、実際に書いてるコードを見たことがありません。
何故ですか?
0569デフォルトの名無しさんNGNG
>>568
わざわざ出来ると明言する必要がないくらい当たり前に出来るから。
0570デフォルトの名無しさんNGNG
>>567
こんな感じじゃねーかなぁ……マトをはずしてるかもしれないけど
private void DataGrid1_EditCommand(object source, DataGridCommandEventArgs e)
{
TableCellCollection tcc = grid.Items[e.Item.ItemIndex].Cells;
((RequiredFieldValidator)tcc[カラムindex].FindControl("RequiredFieldValidato1")).Enabled = false;
}

UpdateCommandでやるならViewStateなんかに保持ってないとダメかも。
0571デフォルトの名無しさんNGNG
C#(に限ってはいないが)のフリーのコンポーネントが揃っているサイトを
ご存知ないでしょうか?
特にエディタコンポーネントがあれば・・・
Delphiに対してあまりに見劣りがするのですが・・・
0572デフォルトの名無しさんNGNG
>>571
超定番だが、一応。
ttp://www.grapecity.com/japan/support/database/DOTNET_ProductList.htm
0573デフォルトの名無しさんNGNG
>>572
それ、フリーじゃないだろ。
0574デフォルトの名無しさんNGNG
.NET の必要性が分からない。
MS に踊らされているだけでは?
0575デフォルトの名無しさんNGNG
>>574
スレ違い
0576デフォルトの名無しさんNGNG
エンドユーザからすれば必要性が分からないかもね。
まあここはC#スレであって.NETスレではないので該当スレでしゃべれ。
0577デフォルトの名無しさんNGNG
すんません。スレかえます。
0578デフォルトの名無しさんNGNG
>574
オレ個人で言えば
.NETだから使ってるのではなく、C#だから使ってるのだ。
C#の強力な言語仕様、豊富なライブラリ、コンポーネント利用でのGUI設計の容易さ、
などが選択の理由である。
仮に処理系がネイティブであっても別に何の問題もなかった。
(というより今のオレにはその方が良かったかも?)
もちろんMSというバックがいることの将来性もあるが。

0579デフォルトの名無しさんNGNG
>>1 で 「.NETの話題はこちらでどうぞ。」とありますけど。。。
0580デフォルトの名無しさんNGNG
>>579
ライブラリとしての.NETに留めといたほうがいい。
.NETそのものについて扱うと変なのが湧く。
0581デフォルトの名無しさんNGNG
>>579
スレの空気嫁
0582デフォルトの名無しさんNGNG
しかし……正直、.NET 抜きで C# を語る奴はおらんだろ
0583571NGNG
誰かDelphiのTEditorをC#に移植してくれませんかね・・・
ソースは一万行越えてるけど・・・
優れたエディタコンポーネントがないと困る人が多いと思いますが・・・
0584デフォルトの名無しさんNGNG
禿同
0585デフォルトの名無しさんNGNG
>>583
よっしゃ、まかせた。
0586デフォルトの名無しさんNGNG
TEditor重すぎで話にならん
0587デフォルトの名無しさんNGNG
>>583
Delphi 8 で作り直せば良いんじゃないか?
0588571NGNG
確かにネイティブなTEditorが重いのだから
.NETに移植すると更に重いのでしょうが・・・
まだ誰も手をつけていない今の段階で移植すれば
C#の歴史に名を残せますよ。
早い者勝ちだ!!!
・・・とは言うものの、フリーのコンポーネントを発表する人が
思ったより少ないのは何故なんだろう???

0589デフォルトの名無しさんNGNG
キミがめんどくさいことは俺もめんどくさいってことだな。
0590デフォルトの名無しさんNGNG
だって金になるし
0591デフォルトの名無しさんNGNG
エディタくらい簡単に作れるんじゃないかな。
Win32 ネイティブだとあまりに多すぎるメッセージに対応するのが苦痛で仕方なかったが、
.NETだとその辺整理されてるから、他につまるところはないかと。
0592デフォルトの名無しさんNGNG
フォームにボタン2個配置の状態で、
public void Button1_Click(object s,EventArgs e)
{
button2.Dispose();
button2.Text = "Text";
}
を実行しても、ぬるりが発生しません。
button2はDispose()で解放されたんじゃないんでしょうか?
0593デフォルトの名無しさんNGNG
>>592
Dispose()はbutton2が所有しているリソースを破棄するだけで、
button2オブジェクトそのものを破棄、あるいはnullセットするわけじゃないから。
0594592NGNG
>>593
どうもありがとうございます。
button2 = null;
でnullセットしたのですが、nullにしてもフォームから消えてくれません。
もちろん、button2.Text="";なんてしたら、エラーが出ます。

Dispose()では消えるんですが、なんでnullセットだとフォームから消えないんでしょうか?
0595デフォルトの名無しさんNGNG
>>594
button2 = null;は参照を解除するだけで、
button2オブジェクトそのもの、あるいはbutton2が所有しているリソースを破棄するわけじゃないから。
0596デフォルトの名無しさんNGNG
>>592-595
ワロタw
0597デフォルトの名無しさんNGNG
nullセットしたのですが、nullにしても何故か>>592>>594が消えてくれません。
今すぐ消えてください。
0598デフォルトの名無しさんNGNG
>>597
592 = null; も 594 = null; も参照を解除するだけで、
592 そのものを破棄するわけじゃないから

破棄しようとして、特攻仕掛けて殺人なんかするんじゃねーぞ
気に入らなければ透明あぼーん汁
0599567NGNG
>>570
ありがとうございました。

>RequiredFieldValidator fr =
>(RequiredFieldValidator)e.Item.FindControl"RequiredFieldValidator1");
>fr.Enabled = false; ←ここを実現したい

上記はUpdateCommandではできないことがわかりました。

ほんとうに助かりました。
ViewStateで保持して実現したいと思います。
本当に本当にありがとうございました。
0600デフォルトの名無しさんNGNG
TreeViewの継承コントロールを作って、フォームデザイナで貼り付けたんですが、
継承コントロールのほうであらかじめ登録してあるTreeNodeが重複して勝手に書き込まれてしまいます。
(FormのInitializeComponentメソッドで、this.treeViewEx1.Nodes.AddRange( ... )というふうに)
どうにかなりませんでしょうか?

継承コントロールでなく、別の方法でもいいので何とかなりませんでしょうか?
0601デフォルトの名無しさんNGNG
>>600
あー、俺もそれあったなあ。

TreeViewじゃなくてComboBoxだけど、
フォームデザイナでコントロールを移動する度にItems.AddRangeを追加しやがって、
どんどんアイテムが増えていくんだよね、、、
0602600NGNG
>>601
同志!!まさにそれです!
そのときはどうやって解決されましたか?
0603デフォルトの名無しさんNGNG
Nodes.Count==0の時に追加するようにしたらいいんでないの?
0604デフォルトの名無しさんNGNG
>>600-602
デザイン中に実行されては困る副作用があるコードは
DesignMode プロパティで分岐するのが基本。
0605600NGNG
>>603-604
ありがとうございます。
早速試してみます。
0606600NGNG
>>604
継承コントロールのコンストラクタで
if( !this.DesignMode )
...初期化処理
としてみましたが、やはり解決しません。
また、
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=15316&forum=7
には、同じくコンストラクタ内ではDesignModeは正しく動作しないとの記述も見つかりました。

どの時点で書けばよいでしょうか?
何度もすみませんが、よろしくお願いします。
0607デフォルトの名無しさんNGNG
>>606
Loadイベントかな
0608600NGNG
>>607
FormのDesignModeプロパティを見て、継承コントロール内のパブリックメソッドを実行して初期化処理を行うということですか?
0609デフォルトの名無しさんNGNG
>>608
??
わざわざFormのプロパティを見る必要あんの?
コントロール自身のLoadイベントで自分のDesignModeプロパティみて分ければいいじゃん。
0610600NGNG
>>609
しかし、TreeViewコントロールにはLoadイベントがないようですが…
0611デフォルトの名無しさんNGNG
代わりはHandleCreatedイベントかな。
0612デフォルトの名無しさんNGNG
あぁ、そうなんだ。
UserControlしか見て無かったよ。
0613600NGNG
>>611
ありがとうございます、若干変な動作をしますが、とりあえずデザイナでの自動コード生成はなくなりました。

質問に答えてくださった方々、どうもありがとうございました。
0614デフォルトの名無しさんNGNG
俺もデザイン中にコードが実行されていると気づくのにしばらくかかったくち・・・
0615デフォルトの名無しさんNGNG
class Sort : IComparer
{
public int Compare( object x, object y )
{
return x.s-y.s;
}
}
これは数字のSortプログラムですが、これを文字の昇順プログラムに
直すにはどのようにしたらいいのですか?
0616デフォルトの名無しさんNGNG
さて昇順と言ってどういう並びなのかな。
Unicode順ならChar.CompareToを返せば済む話だが。
string.CompareToは全半角漢字順もなかなか考慮して返してくれるな。
0617615NGNG
string.CompareTo でファイル名をソートするプログラムができました。
0618デフォルトの名無しさんNGNG
IPチャットのように、ブロードキャストで現在LAN上にいる
人を表示するプログラムを作りたいのですが、
ブロードキャストを受信するにはどうすればいいのかわかりません(´・ω・`)

http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemnetsocketssocketclassreceivefromtopic.asp
このようにReceiveFromを使用するのでしょうか?
なぜか無効な引数といって怒られるのですが・・・
0619デフォルトの名無しさんNGNG
>>618
無効な引数って、どんなソース書いてるのよ。
引数が無効なら修正するしかないでしょ。
0620618NGNG
SendToメソッドがないと無効な引数となるっぽいですね。。。
う〜ん、もしかして、
1.SendToメソッドでブロードキャスト
2.ブロードキャストを受信するホストはUdpClientなどで受信→返信パケット
3.ReceiveFromメソッドで返信パケットを受信
っとすることでIPチャットのメンバ確認のようなことができるのでしょうか?
0621デフォルトの名無しさんNGNG
C#(というか.netFrameworkか)で循環リングリストを実装するにはどうしたらいいんでしょ?
Cでポインタ使って実装したことはあるんだけど、C#だとポインタが表に出てこないからよくわからん
かといってUnsafeでやるのはどうかと思うし
0622デフォルトの名無しさんNGNG
ポインタの代わりにインスタンスの参照を持てば良いんじゃない?
public class Item {
   public string Name;
   public Item Next;
   public Item Previous;
}
0623デフォルトの名無しさんNGNG
XmlDocument.SelectNode()メソッドを用いて、以下のXmlからXpathを用いてXmlNodeを
取得する方法を教えてください。プレフィクスの有無を無視してXMLにアクセスできるはず
なのですが(MSXML4.0にて確認しているとの情報はあります。)

<?xml version="1.0" encoding="utf-8" ?>
<Body>
   <GetLastTradePrice xmlns:="http://pc5.2ch.net/"></:GetLastTradePrice>
<Body>

XmlDocumet xmlDoc = new xmlDcoment();
xmlDoc.Load(@"C\hoge.xml");
XmlNode node = xmlDoc.SelectSingleNode("
           /Body/[local-name()='GetLastTradePrice' and namespace-uri()='http://pc5.2ch.net/']");

とやってnodeの中に<GetLastTradePrice xmlns:="http://pc5.2ch.net/"></:GetLastTradePrice>を示すElement
を取得したいのですが、どうにもうまくいきません。何かヒントとなる要素や間違いがあればご指摘お願いします。
0624デフォルトの名無しさんNGNG
DataGridのHeaderのHeightはどうやったら調整できますか?

#間違えてVBスレに書き込んじゃいました。
0625デフォルトの名無しさんNGNG
>>623
string xml = "<?xml version=\"1.0\"?><Body><GetLastTradePrice xmlns=\"http://pc5.2ch.net/\">4000</GetLastTradePrice></Body>";
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
XmlNode node = doc.SelectSingleNode("/Body/*[local-name()='GetLastTradePrice' and namespace-uri()='http://pc5.2ch.net/']");
Console.WriteLine(node.InnerText);

623のは露骨にXPath式がおかしいよ?


>>624
VB.NETスレなら間違いじゃないと思うけど。
該当するプロパティはないみたいだね。
HeaderFontを大きいのにするくらいなのかな。

.NET2005で増えるDataGridViewならColumnHeadersHeightなんてそのものズバリなのがあるようだけど。
0626デフォルトの名無しさんNGNG
2005のライブラリ、どっかで見れない?
espressのドキュソメントは重すぎて見る気もうせた。
0627デフォルトの名無しさんNGNG
MSDNはこちら。
ttp://msdn2.microsoft.com/library/default.aspx

//Control継承クラスとかオンラインの方が早いってのも狂ってるねぇ……。
0628デフォルトの名無しさんNGNG
Microsoft.IE

System.Windows.Forms.HtmlHistory
HtmlLocation
HtmlNavigator
HtmlPopup
HtmlScreen
HtmlWindow
HtmlWindowCollection

(´・∀・`)ヘー、こんなのあるんだ。
0629デフォルトの名無しさんNGNG
.NET2.0じゃ、SHDocVwの代わりっぽいコンポーネントが出てきてるのね。
0630デフォルトの名無しさんNGNG
.NET2.0なんですが、
using System;

class mainClass
{
public static void Main()
{
int width = Console.WindowWidth; //コンソールウィンドウの幅プロパティ(int型、get/set)
Console.WriteLine(width);
}
}

で、Console.WindowWidth;の部分で、「ハンドルが無効です。」ってエラーが出ます。
ドキュメントのサンプルをそのまま実行しても、同じエラーが出ます。
どこがおかしいんでしょうか?
0631デフォルトの名無しさんNGNG
コマンドプロンプト開けてそこから実行してみな。
0632630NGNG
どうもありがとうございます。
VS上で実行してたのが悪かったんだ・・ orz
0633デフォルトの名無しさんNGNG
C#でDAO使っている人いる?
リンクテーブル絡みで使いたいんだけど、
CreateWorkspaceの第4引数、VB.netなら省略可能なのに
C#では省略できないみたい。dbUseJetとか書いても名前空間にないって怒られる。
だれか、教えてください。

[DBEngine.]CreateWorkspace(Name, User, Password [,Type])

0634デフォルトの名無しさんNGNG
JavaのJScrollPaneみたいなコントロールってありますか?
0635デフォルトの名無しさんNGNG
>>633
省略できるパラメータならMissing.Valueを指定してやればいい。

>>634
みたいとかいわれてもー。
0636デフォルトの名無しさんNGNG
VC#ではなぜ、Document-Viewを強制しなくなったのかな?
こういったポトペタ環境は初心者にはいいかもしれんが
Formになんでもかんでも書く人がいて嫌いだな

そう思いません?
0637デフォルトの名無しさんNGNG
>>635
ありがとうございます。怒られなくなりました。(^^;)
0638デフォルトの名無しさんNGNG
>>636
VC6でも強制されてなかったよ。
0639デフォルトの名無しさんNGNG
>>636
私は自由度が高くてよいと思うが、
それがいやなら、企業なら社内規定で縛るべきかもね。
0640634NGNG
どうも勘違いしていたようで普通のPanelで同じことが出来ました。
どうもすいません。
0641デフォルトの名無しさんNGNG
>>638
VC++6使ったことないでしょ?
VC++6でダイアログベースで進んだプロジェクトなんて一つもなかったよ
あるプロジェクトを一人やるなんてまずありえない。
ダイアログベースだと分業し図らいからね
0642デフォルトの名無しさんNGNG
ラジオボタンでImageListをセットして画像を表示させているのですが,
かなり小さく縮小されてしまいます。サイズを大きくするにはどうすればいいのでしょうか。
以下のようにしています。

ImageList imageList1 = new ImageList();
imageList1.Images.Add(Image.FromFile("..\\..\\test1.bmp"));
imageList1.Images.Add(Image.FromFile("..\\..\\test2.bmp"));
imageList1.Images.Add(Image.FromFile("..\\..\\test3.bmp"));
this.radioButton1.ImageList = imageList1;
this.radioButton1.ImageIndex = 0;
0643デフォルトの名無しさんNGNG
ImageList.ImageSize
0644在日外国人参政権反対NGNG
>>641
DocumentView程使えないものもない。
じぶんでObserverつくる。
0645デフォルトの名無しさんNGNG
>>636
C#にDoc-Viewを実現するために特別なフレームワークが不要だったから。
何らかの抽象クラスを提供して面倒見てやらないといけないC++と違って、
C#はeventを使ってクラス階層に関係なくそういった構造を実現できる。
Doc-Viewがしたければ自分で勝手にDocクラスとViewクラスを作れば良いだけ。
0646デフォルトの名無しさんNGNG
>>641
もしかしていまどきMFCなんか使ってんの?
時代はWTLだよw
0647デフォルトの名無しさんNGNG
>>645
こういう人って趣味でプログラム書いているようなヲタでしょ?
協調性がないよねw
社会では`自分で勝手に'なんて通用しない
0648デフォルトの名無しさんNGNG
C#は、C+;から来た人、Delphiから来た人、Javaから来た人が色々いて
それぞれ文化が違うから面白いね。
ポトペタでフォームにイベント処理一杯、というのはDelphiなら当然なんで
(あまりいいものではないが)
あまり違和感がない。
VisualC++から来るとdoc-viewの残像が消えないのかな?
Javaから来ると、「きっちりクラスを設計しろよ!」ってことになるけど。
0649デフォルトの名無しさんNGNG
>>646
>時代はWTLだよw
それほんとう?実際の開発で使われてる?
0650デフォルトの名無しさんNGNG
>>647
クラスの設計すらさせてもらえない最下層使い捨てグラマですか?
0651デフォルトの名無しさんNGNG
>>649
市販ソフト書いてるうちでも使ってる。
MFC じゃ COM 関連のサポートが貧弱すぎてちょっと使い物にならないし。
(Outproc COM object からイベント受けるためだけで何行コード書かせるんだよ、とか)
0652デフォルトの名無しさんNGNG
>>651
最後の行の意味が分かる人はこのスレにはほぼいないと思いますよw
0653デフォルトの名無しさんNGNG
>>651
ありがとう。実際の開発に使えるようなものなら勉強してみたいと思っていたんです。
0654在日外国人参政権反対NGNG
>645
言語のサポートは否定しないが、MVCに必要なものぐらいC++で誰でも作れるぞ?
Observer的なもの作ればいいだけだし、イベントの元になるメソッド呼び出しのオブジェクト化もFunctorのようなものをテンプレート使って作ることが可能
手間的にも仕組み的にもほとんど変わらない。構造がグレーでないだけC++のほうが好ましいところもある。
0655デフォルトの名無しさんNGNG
>>654
C#だとイベントの関連付けはぺたぽとだし。
C++だとせいぜいあらかじめIDEに仕込んだものくらいしかできないからなぁ。
0656デフォルトの名無しさんNGNG
>>654
それはどうせどこぞのHPのサンプルプログラムをみての話でしょ?
お金をとるアプリケーションを書くようになるとわかるけど
サンデープログラマ(オタク?)がHPで書いてるようなサンプルプログラムなんて
まったく使い物にならないぞ
0657デフォルトの名無しさんNGNG
>>656
それほんとう?
業務で使えるようなサンプルって、
ウェブでは一切公開されていないの?
0658デフォルトの名無しさんNGNG
ウィンドウの初期表示位置を
デスクトップ上でぴったり右下に(タスクバー除く)位置させたいのですが
そのためにデスクトップのサイズはどれで得られますか?
設定はForm.DesktopLocationでよさそうなのですが
0659デフォルトの名無しさんNGNG
業務で使えるっていうか、特定の業務だとか企業だけで使うようなものは公開されないんじゃ?
0660デフォルトの名無しさんNGNG
>>657
656じゃ無いけど、Webで公開してるやつらは作ること自体が目的化してる面がある。
技術的には面白いけど結局使い物にならないってのは良くあるね。
0661デフォルトの名無しさんNGNG
>>659
つまり、サンプルを基盤にして独自拡張できる力がないといかんと、
それだけが言いたいのかな?
0662デフォルトの名無しさんNGNG
>>658
Screenクラスを調べてみな。
0663在日外国人参政権反対NGNG
>658
どっからそういう話になるんだ?金融向けディリングアプリケーションとか作ってますが?
自分のいっている話からそういうところになんで飛躍するんだ?
自分が言いたかったのはDocViewにC#の言語特性は必要事項ではないということ。
サンプルなんか見ませんよ。どこからそういう話になるんだか。
0664デフォルトの名無しさんNGNG
>>662
ありがとうございます
調べてみるとScreen.GetWorkArea()というのが使えそうなのですが
引数にControlを取るみたいなのですがControlを作らないといけないのでしょうか?
Formしか使っていないのですが
0665デフォルトの名無しさんNGNG
>>664
なぜControlを引数に取るかというと、複数ディスプレイの環境を考慮してるからだ。
どのディスプレイのWorkingAreaを取得するか、でGetWorkingArea(Control)はそのコントロールが一番多く含まれるディスプレイのワーキングエリアを取得する。
プライマリディスプレイしか考慮しないならScreen.Primary.WorkingAreaを使えばいい。

>  Formしか使っていないのですが
FormもControlの派生クラスな訳だが。
0666デフォルトの名無しさんNGNG
ディリングってw
0667デフォルトの名無しさんNGNG
>>665
>FormもControlの派生クラスな訳だが
Σr(‘Д‘n)
ボタンとかスクロールバーとか
そういう部品だけがコントロールなもんだと
思ってました

よくわかりました
ありがとうございます
0668デフォルトの名無しさんNGNG
プログラマー板
http://pc5.2ch.net/prog/
0669デフォルトの名無しさんNGNG
System.Windows.Forms.SystemInformation.WorkingArea のほうが良くない?
0670デフォルトの名無しさんNGNG
デリングシティ
0671デフォルトの名無しさんNGNG
なぜMSは抽象層としてSystem.Formsを定義しなかったんだ?
ターゲットプラットフォームごとに互換性の無いウィンドウシステムを使えってことか?
それともすべてのプラットフォーム用にWndProcを実装しろってことか?
0672デフォルトの名無しさんNGNG
話し変わるけどC#ってコンポーネントのソースって見れないの?
0673デフォルトの名無しさんNGNG
>>669
そちらも検討してみます
どうもです
0674デフォルトの名無しさんNGNG
>>671
Javaのさんざんな状態を知らないの?
AWT、Swing、SWTと乱立。
しかも携帯でこれらが使えるわけじゃない。

デスクトップOSでもOSによってずいぶんと違う。
少なくとも現状では各プラットフォーム共通の
ウインドウシステムなんて現実的ではない。
0675デフォルトの名無しさんNGNG
>>674
乱立とプラットフォーム間の互換性は関係ないかと
さすがにモバイル向けと同じインターフェイスってのは期待しないけどさ。
0676デフォルトの名無しさんNGNG
MSのいう.NETのマルチプラットフォームはMSのOSのみ(PCのWindowsとかCEとか)を対象としたマルチで
他社のOSまで含めてるわけじゃないって話を聞いたんだけどデマ?
0677デフォルトの名無しさんNGNG
>>676
あながちデマじゃないと思う。
本気でマルチプラットを考えていると思えないし。
マルチプラットをちらつかせて実は自社プラットに縛ろうとしている
戦略が見え隠れせんでもない。
0678デフォルトの名無しさんNGNG
ラジオボタンでボタン形式の表示にしたときの
3D境界線のもっこリ具合をもっと大きくしたりといったことは可能でしょうか?
Border3DSizeプロパティでgetはできるもののsetはできないですが
0679デフォルトの名無しさんNGNG
>>678
多分真っ当には無理。
OnPaintをオーバーライドしてしこしこ描いていくしか。

SystemInformation.Border3DSizeは画面のプロパティからユーザが操作するもの。
0680デフォルトの名無しさんNGNG
>>679
OnPaintをオーバーライド???
知ったかぶりハケーン
0681デフォルトの名無しさんNGNG
非ビジュアルなコンポーネントを作るために、
メニューでファイル→新しい項目の追加→コンポーネントクラス
を実行すると、ソースが作成されます。
そのソースにはコンストラクタが2つ(引数の無いものとIContainerを引数にとるもの)があります。
その2つはどう違うのでしょうか。

IContainerを引数にとる方は、デザイン時にIDEから呼ばれるのかなと思っていますが、
裏付ける記述を発見できません。どなたか助けてください。
0682デフォルトの名無しさんNGNG
>>672
Reflector使え
http://www.aisto.com/roeder/dotnet/
0683デフォルトの名無しさんNGNG
>>681

ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconclassvscomponentvscontrol.asp
ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vbcon/html/vbconcontainerssitesextenderscomponents.asp

あんまり気にする必要はないような気もする。
要はコンポーネントを管理するためのIContainerを使う時に、
それに明示的に新しくコンポーネントを追加する時に使うもんであって、
そんなに深い意味はなさそうだ。
0684デフォルトの名無しさんNGNG
>>641
VC6を使ったことが無いのはあんたのほうじゃないの?
(自分の記憶違いかと思って、思わずVC6を立ち上げて確認してしまった)

0685デフォルトの名無しさんNGNG
>>682
MFC見たくデバックまでできるんですか?
0686デフォルトの名無しさんNGNG
>>684
いい加減スレ違いだからマ板にでも逝け
0687684NGNG
ついでに書いておくと、MFC自体はDoc-Viewを強制してないから、
VC5以前のバージョンでも、ウィザードを使わないか、もしくはウィザードの
生成したコードを少しいじればDoc-Viewを使わなくてすむ。
0688デフォルトの名無しさんNGNG
>>684
ごめんプロジェクトの意味が分からなかったみたいだねw
趣味でやってる香具師ってきらいなんだよね
0689デフォルトの名無しさんNGNG
>>641
ダイアログベースだと分担できないって、Wizardの作ったコードを埋めていくしか
できないレベルなのか…
0690デフォルトの名無しさんNGNG
>>685
できない
0691デフォルトの名無しさんNGNG
>>688
MFCがDoc-Viewを強制してるかしてないかの話で、だれもプロジェクトの話はしてませんよ。
0692在日外国人参政権反対NGNG
>690
トレースはできるの?
0693在日外国人参政権反対NGNG
つか、おまいらどんなもの作ってるんですか?
自分はメインはディーリングアプリケーションのクライアントとサーバー両方。
あとは趣味のツールとか。
0694凄く同意NGNG
もまいらただいま

>>693
趣味でツールとかゲームだな
仕事でC#を提案することは殆ど無い、っていうか無い
0695デフォルトの名無しさんNGNG
>>693
自分のサイトのASP.NET

クライアントサイドは以前作ったもののネイティブで動くようにしてくれと要望が殺到したのでやめた。
仕事ではC#の話自体ほとんど出ない、っていうか出ない
0696デフォルトの名無しさんNGNG
オレは趣味でプログラミングをしてるんだけど
以前はDelphiを使っていて、今はC#中心だ。
Delphiのコンポーネントを使えば楽に書ける場合はDelphiを使うが
もう基本的にはC#以外では書きたくないな。
VisualC++で書くなんて論外・・・
でも業務だとまだVisualC++が中心なのか・・・
その辺の意識は大きな隔たりがあるね。
0697デフォルトの名無しさんNGNG
>>696
意識の問題じゃないよ。
適材適所。
うちはVB6からC#、C++、Delphi、BCBなどの中から状況に最も合ったのを
選択することが多い。(稀に客からの指定もあるけど)

VC++を使うのは「どうしてもこれじゃなきゃうまくない」ときぐらいだけどね。
C#を始めてからはBorland系の出番はほとんどなくなったな。
0698デフォルトの名無しさんNGNG
C# のリファクタリングツールでよさげなものはありませんか?
できれば無償のものがいいのですが…。

最低限、使われていない関数を洗い出してくれる、って程度の事が
できればいいのですが。
0699デフォルトの名無しさんNGNG
pictureboxに画像を表示し、確認してからリネームしたいのですが
moveメソッドの時に「他のプロセスで使用中です」というエラーが出ます。
画像ファイルがプロセスに使用されていない状態にするにはどうしたらいいのでしょう?

private void button1_Click(object sender, System.EventArgs e) {
if (openFileDialog1.ShowDialog()==DialogResult.OK)
{
picbox.Image = Image.FromFile(openFileDialog1.FileName);
}
_oldfilename = openFileDialog1.FileName;

}

private void button2_Click(object sender, System.EventArgs e) {
try
{
File.Move(_oldfilename,newfilename);//ここでリネームできない
}
catch(System.IO.IOException er)
{
MessageBox.Show(er.Message);
}
}

0700デフォルトの名無しさんNGNG
>>699
Image.FromFileじゃなくてStreamから読み込めばできたような気がする。
0701デフォルトの名無しさんNGNG
>>683
ありがとうございます。
説明を読んだけどよく分かりませんでした。
まあ、気にしないことにします。
0702デフォルトの名無しさんNGNG
C#がどうこうっていうより
.NET Frameworkが使えなさ杉w
半ブラックボックス化したFrameworkなんて使い物にならん
0703デフォルトの名無しさんNGNG
>>702
?
0704デフォルトの名無しさんNGNG
俺か?俺を釣りたいのか?
0705デフォルトの名無しさんNGNG
いえ、君のような雑魚にようはないw
0706デフォルトの名無しさんNGNG
>>702
Monoのソースでも読んでろ。
 オープソの.NET Frameworkだ。
0707C ◆ZHxgEbZjZg NGNG
先月 Visualstudio 買ってデータベースアプリを作成したいと思い、谷尻かおりさんの
基本データベースプログラミングを参考にしています。
そこでどうしても分からないことがありまして、C#に精通している皆様に是非ご教授願いたいしだいでございます。
本のページで言うとP106のリスト5-3なんですが、
このサンプルは1レコードをフォームで編集したりするものです。それで、編集の保存がされていないときに閉じるボタンが押された場合

//変数の宣言
DataSet mFlg;//変更
//レコードの編集を終了
this.BindingContext[dsShohin1,"T_商品"].EndCurrentEdit();
//データセットの状態を取得
mFlg = dsShohin1.GetChanges(DataRowState.Modified);

にて mFlgがnullでない場合 Updateをかけろとなっています。

今回、データグリッドを設置したのですが、同じように閉じるボタンを設置して
編集があった場合を調べようとして、上のように

//変数の宣言
DataSet mFlg;//変更
//データセットの状態を取得
mFlg = dsShohin1.GetChanges(DataRowState.Modified);

とやると、
型又は名前空間名'DataSet'が見つかりませんでした。ディレクティブを使うかアセンブリ参照を使ってください。
名前'mFlg'はクラスまたは名前空間'KaikeiForm'に存在しません
となります。DataSetというのは、データグリッドには使用できないのでしょうか?
C#もまだ勉強しはじめたばかりなのでエラーの理由も分かりません。他に編集状態を調べる方法がありましたら是非教えてください。
0708デフォルトの名無しさんNGNG
>>707
とりあえずそれについてはコードの先頭に
using System.Data;
って書く。

ふらっとC♯(Part5)
http://pc5.2ch.net/test/read.cgi/tech/1065196964/
0709デフォルトの名無しさんNGNG
ざっとプログラム作ってみてストレスになっていることがあります。

・フォームを継承した場合、継承元とプロパティが同じなのにデザイナが生成
 したコードの中にソースがでてきます。無駄なソースだという以外にもImageList
 の二重生成などではアイコンが消えてしまうなどの不具合があります。

・SqlConnection、SqlDataAdapterからDataSetを生成し、DataViewのDataSourceに
 して、DataGridで表示した場合、MappingNameにテーブル名やビュー名を入れないと
 書式設定、色設定ができませんし、開発段階でテーブルのフィールドなどが変更
 された場合も何度も更新したり、下手をすると新しく作り変えてあげない限り
 Grid上に表示されなかったりと、挙動不審です。

作り方や手順がまずいのかもしれませんが、とにかく面倒なことと、コンパイラに
起因する変なバグが出やすいです。
0710C ◆ZHxgEbZjZg NGNG
>>708さん
解決しました。どうもありがとうございました。Dataクラスなんですね。
ドキュメントは見ているのですが、どうやって調べていいかわからないのも考え物ですね。
ほんとにありがとうございました。
0711デフォルトの名無しさんNGNG
>>710
あーうん、色々勘違いが多そうだから基礎から固めていこうな。
ttp://www.atmarkit.co.jp/fdotnet/csharp_abc2/index/index.html
0712デフォルトの名無しさんNGNG
>>710
「型又は名前空間名'xxxxx'が見つかりませんでした。ディレクティブを使うかアセンブリ参照を使ってください。 」
というエラーが出たときは大抵usingがしていないから、該当内容をヘルプで調べて、そこに書いてある
名前空間をusingしてやる……という入門レベルでの話なのだが。
0713C ◆ZHxgEbZjZg NGNG
>>711,712
先日、VisualStudio買ったばかりの超入門者なんです。
とりあえず、「作って覚えろ」で本を参考にしながらデータベースアプリを
作ってます。
でもやっぱり基礎は大事ですね。がんばります。
ご迷惑をおかけしました。
0714デフォルトの名無しさんNGNG
すいません。
厨な質問で申し訳ないのですが、教えてくださいませんでしょうか?

テキストファイルを読み込んで
「中に何も書いていない」
「中に何かしら書いてある」
という判定を行うにはどのようにしたらよいでしょうか?

よろしくお願いします。
0715デフォルトの名無しさんNGNG
>>714
開く前にサイズ見るとか?
0716デフォルトの名無しさんNGNG
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemiofileinfoclasslengthtopic.asp
0717714NGNG
ありがとうございます。
ファイルサイズが0だったら無いって判断するのですか・・。
なるほど、勉強になりました。

またまた申し訳ないのですが、この場合はどうやってやったらよいのでしょうか。
ファイルサイズが0になったらこの処理をする、ということをやりたいのです。
この場合はどうやってファイルを監視(?)していたらよいのでしょうか?
タイマーのようなものを使うのでしょうか?

変な質問ですが、よろしくお願いします。
0718在日外国人参政権反対NGNG
ふぁいるの更新あったら通知するようにとか可能。
0719デフォルトの名無しさんNGNG
>>717
FileSystemWatcher
0720714NGNG
>>718
はい、そのとおりです。
ファイルの更新といいますか、サイズが0になったら警告を通知するというものを作っております。
一定の時間でファイルサイズの比較などをやるという方法がよくわかりません。
ループを使って常にグルグルまわしているのか、どうやってやるのか・・
さっきループを使ってやってみましたが、すぐにフリーズしてしまいました・・。
0721デフォルトの名無しさんNGNG
private System.Timers.Timer tmrWatch = new System.Timers.Timer();

// タイマー
tmrWatch.Enabled = true;
tmrWatch.Interval = 5000;
tmrWatch.Elapsed += new System.Timers.ElapsedEventHandler(tmrWatch_Elapsed);

/* -------------------------------------------------------------------------
* ログ:タイマー
*------------------------------------------------------------------------ */
internal void tmrWatch_Elapsed(object sender, System.Timers.ElapsedEventArgs e) {
Write("Elapsed!", "E", "#aaaaaa###");
}
0722在日外国人参政権反対NGNG
>720
C#でどうやるかしらんが、>719に書かれてるやつ使うんじゃないかな。
たぶんフラグで更新あったら通知とかできるはず。
更新あったときファイル開いて長さ取得かな?もっと効率の(・∀・)イイ!!のあるかもしれないけれど。

基本的にはループして何かをチェックするってのは最悪の手段なのでやめてください。
0723720NGNG
>>719,>>721-722
みなさん、こんな馬鹿のためにレスを下さって感謝します。

FileSystemWatcherを調べたところ、ファイルが変更されたらイベントを起こすということができるそうです。
本当にありがとうございました。

ところが現在コンパイルエラーで詰まっております・・・・
なにぶんプログラムは初級者同然ですので・・。
気力でがんばっていこうと思います。
0724デフォルトの名無しさんNGNG
>>723
>気力でがんばっていこうと思います。
気力じゃない、頭を使え。
0725デフォルトの名無しさんNGNG
フォント ファミリから日本語のフォントだけを抽出するにはどうしたらいいのですか?
0726720NGNG
すいません・・・。
てかほんとに何度もすいません。

FileSystemWatcherを使うというアドバイスをいただきまして
やってみたところうまくいきました。

しかし、今いるフォルダの中を監視したい場合はどうすればよろしいのでしょうか?
0727デフォルトの名無しさんNGNG
>>726
今いるフォルダとやらをPathにしてFileSystemWatcherを作ればよかろう。
0728720NGNG
>>727
レスありがとうございます。

今いるフォルダ(カレントディレクトリ)の取得はできましたが
watcher.Pathに設定するとおかしくなってしまいます。

やり方がおかしいのでしょうか?
0729デフォルトの名無しさんNGNG
何がどうおかしくなってるのかさっぱり。
0730デフォルトの名無しさんNGNG
watcher.Pathに設定するとおかしくなってしまいます。
watcher.Pathに設定するとおかしくなってしまいます。
watcher.Pathに設定するとおかしくなってしまいます。
watcher.Pathに設定するとおかしくなってしまいます。
watcher.Pathに設定するとおかしくなってしまいます。
watcher.Pathに設定するとおかしくなってしまいます。
watcher.Pathに設定するとおかしくなってしまいます。
0731720NGNG
>>729
Application.StartupPathで取得したパスを設定しました。
そしたら「見つからない」といって怒られました。
解読困難な日本語ですいませんです。

>>730
?
0732デフォルトの名無しさんNGNG
取りあえず該当部分のコードとエラーメッセージを書け。
0733720NGNG
>>732
すいません。
本当にすいません。
ただ単にミスでした。

string path = Application.StartupPath;
で取得したパスを
watcher.Path = path;
と書くところを
watcher.Path = "path";
と書いてしまっていました。

大変迷惑をかけたことをお詫びします
0734デフォルトの名無しさんNGNG
参照設定についてなのですが、

まずSolution1の中にProject1とProject2を作成し、後者から
前者の参照をプロジェクト参照で設定した状態にしました。

そしてSolution1のフォルダごと全くちがうパスに移動させたところ
この参照のパスがその移動に同期して変わっていた(相対パス?)
のですが、DLL参照になっている標準FrameworkのDLLへの
参照のパスはもちろん変化しませんでした。このへんの仕様が
良くわからないのですがどうなっているのでしょうか?
0735デフォルトの名無しさんNGNG
どの辺の仕様さ。
取りあえずこの辺を読め。
ttp://www.atmarkit.co.jp/fdotnet/technology/idnfw11_index/index.html
0736在日外国人参政権反対NGNG
>733
プログラムのコツ
関連するAPIマニュアルは読む
サンプルコード探しまくる。
聞くときはエラー、コードを提示
デバッガーを有効活用する
0737デフォルトの名無しさんNGNG
C#では /doc でXMLドキュメントが生成できるけど、C++では生成できないの?
市販のドキュメント生成ツール買わないとだめかな。
VCコンパイラにそれを要求するのは酷なのか?
0738デフォルトの名無しさんNGNG
できるよ
0739デフォルトの名無しさんNGNG
<hoge:T xmlns:="hoge" hoge:test="1">345</hoge:T>
とかいうXML NodeをXPathとかなんかで引っ張って来てこれを、
<hoge1:T1 xmlns:="hoge1" hoge:test2="987">654</hoge1:T1>
とかテキストで編集するように更新すると言う事をどのように
したらできますか?
 XmlDocumentのimport使ってもうまくできません。
0740デフォルトの名無しさんNGNG
変換の法則性がさっぱり分からん
0741デフォルトの名無しさんNGNG
VS.netで開発してます。

MSChartを用いて折れ線グラフが表示できるようになったのですが、
グラフ上の2点をマウスで指定して、
その点に対応するデータをピックアップする方法って用意されてるのでしょうか?
0742デフォルトの名無しさんNGNG
>>741
使った事はないが、リファレンスを読む限りPointSelectedイベントとGetDataメソッドでなんとかなりそうな予感。

>>739
まず、XML名前空間についてもっと勉強した方が良いと思う。
とりあえずXmlDocumentの任意のノードをstringで書いたxmlノードに置き換えるサンプルを示しておこう。

string xml = "<root><T xmlns=\"ttp://hoge\" test=\"1\">345</T></root>";
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
XmlNode node = doc.SelectSingleNode("//*[local-name()='T']");
string newxml = "<base><T2 xmlns=\"ttp://hoge\" test2=\"987\">654</T2></base>";
XmlDocument repdoc = new XmlDocument();
repdoc.LoadXml(newxml);
XmlNode imports = repdoc.DocumentElement.FirstChild; //imports.Name == "T2"
XmlNode replacer = doc.ImportNode(imports, true);
node.ParentNode.ReplaceChild(replacer, node);
0743741NGNG
>>742様
ありがとうございます。
早速PointSelectedイベントで引数にdataPointがあったのでいけました。


最終的にはマウスで範囲選択し、その中の最大値を見つけてそこからいろいろしたかったのですが、
MSchartでやるのはかなりややこしそうですね。(そもそもマウスで選択するのが難しい…)

ありがとうございました。


0744デフォルトの名無しさんNGNG
>>738
どうやってドキュメント生成するんですか?
スイッチがわからないっす。
0745デフォルトの名無しさんNGNG
2002年に出てた、.TXT構想とB#言語ってどうなったんだろ?
0746デフォルトの名無しさんNGNG
COOL は C# じゃないらしいけど、じゃ COOL はどこいった?
ttp://www.atmarkit.co.jp/fnetwork/column/spec001/csharp.html
0747デフォルトの名無しさんNGNG
Maccrosoftの次世代構想か懐かしいなオイ。
//あのB# Sample CodeのCompiled Codeがなんとも素晴らしい
0748デフォルトの名無しさんNGNG
>>746
今更ながらだが、その記事面白いな。
0749デフォルトの名無しさんNGNG
>746
その記事面白いね。
「C++とJavaがあるのに何故C#が必要か?」という問いかけがあるけど
C#になって初めて満足な言語ができた、と思ってるのだが。
それもまた時が経つと「何故あの頃は当時のC#で満足していたのだろう?」
という意見になるのかな?
時代がどう転ぶかは分からないけどね。
0750デフォルトの名無しさんNGNG
>>746
面白い。
いまさら当たり前のことに気づかされた。
0751デフォルトの名無しさんNGNG
Socket通信において、受信したパケットから
送信元IPアドレスを得る方法はどうすればいいのでしょう?
UDPを用いて、すべてのアドレスからのパケットを受信するようにしております。
0752デフォルトの名無しさんNGNG
接続したSocketのRemoteEndPointプロパティ
0753デフォルトの名無しさんNGNG
>751
パケットの情報見るしかないでしょ
0754デフォルトの名無しさんNGNG
Bitmap img = new Bitmap(1800,1200);
this.pictureBox1.Image = img;
Graphics g = Graphics.FromImage(this.pictureBox1.Image);
こんな感じでg.draw〜とかでガリガリいろいろ書いてるんですが、

レイヤーみたいなことを実現するにはどういう風にするのがいいんでしょうか?

ヒントだけでもいいのでお願いします。
0755デフォルトの名無しさんNGNG
レイヤー単位で Image を持つ
0756754NGNG
img = new Bitmap(1800,1200);
img_work = new Bitmap(1800,1200);
img_graph = new Bitmap(1800,1200);
this.pictureBox1.Image = img;
g = Graphics.FromImage(this.pictureBox1.Image);
g_work = Graphics.FromImage(img_work);
g_graph = Graphics.FromImage(img_graph);
g.DrawImage(img_graph,0,0,1800,1200);
g.DrawImage(img_work,0,0,1800,1200);
こんな感じでいいんでしょうか?
image,Graphicsの関係がいまいちわからないんで、本でも探してみます。
0757751NGNG
>>752>>753
ありがとうございます。
試してみたいと思います。
亀レスすいませんでした(汗
0758デフォルトの名無しさんNGNG
>>754
残念ながら、本屋にならんでいるC#.NET Frameworkの本はクソだらけだ。
コンポを使って間抜けなテキストエディタを作ったり、
しょーもない住所録を作ったり、くそデジタル時計を作ってみたりで、
ろくなものがない。
あなたが実現したいような画像関連のソフトをつくるために、
それにビチッと答えてくれるような本はないよ。
ほとんどの本はPictureBoxにファイルを読みこんで、説明おわり。

ま、クソライターが、とりあえず今このテの本かいといたら、
売れるだろ、と思って書いたのばっかりだ。
(あまり売れているようには思わんがな)
0759758NGNG
>>754さん
レスありがとうございます。
そうですか、書籍は無いですか…
たとえば、マウスで範囲選択するとき、
マウスをPictureBoxないでドラッグしてるあいだだけ
そのときのマウスの位置とドラッグ開始点を矩形で囲んで見せるような
処理を書くのも方法が思いつかず困ってます。

mouse_moveのたびに1個矩形を描いて、前のを消してを繰り返してるのですが、
とても連続的には出ないので…

がんばっていろいろ調べてみます。英語読まないとだめなのかなぁ…
0760759==754NGNG
ぁぅ
>>758さんごめんなさい、アンカーと名前と番号間違えた…
0761デフォルトの名無しさんNGNG
1個矩形を書いて消す、とひとくちにいっても。

(A)下にある画像を全部再描画してから矩形を書くのと、

(B)以前あった矩形をXORとかNOTで書いて、矩形のところだった
ピクセルだけを元に戻して、新たに矩形を書くのでは、速度が違うぞ。

今どきは、画像がでかくなかったら(A)でも実用にたえる。
その矩形ってSetPixelで書いてないよな、DrawRectangleで書いてるよな。

それぐらいのテクだったら、MFCでアプリ作る的な、本でも書いてある。
でもそれだけのために買うことはない。
解説があっても1Pぐらいだから立ち読みでなんとかするか、ウェブ検索するべしっ。
ただし、英語で読む必要はないと思う、これはポピュラーな話だからの。
検索キーは"XOR","矩形","マウス","選択"、ぐらいでいいだろ。
0762759==754NGNG
どうもつまずいてるところがちょっと違う気がしてきました。

上のほうで最初に質問したレイヤー化でImageを必要なだけ作ってるのですが、
具体的にはまず、グラフを描画する基本img_base
んで、範囲選択中に矩形を出すimg_temp
補助線とかいろいろ書き込むimg_work
それらをひとつにまとめてPictureBoxのImageに設定されるimg
みたいなのを作ってmouse_moveが起こるたびに
imgをクリア、img_base,img_work,img_tempをimgのGraphicsに描画
んで画面更新してるのでやたら思いだけっぽいです。
描画自体はg.Draw〜で書いてます。

なんかスマートじゃないなぁ…
0763デフォルトの名無しさんNGNG
C♯で UnixTime 取得する関数ってありますか?
DateTime から 1970年引いて秒を取得すればよい?
0764デフォルトの名無しさんNGNG
>>746
川俣 晶じゃんか
0765デフォルトの名無しさんNGNG
>762
レイヤーは別にイメージである必要はない。
レイヤーとして表示されれば(・∀・)イイ!!だけだから、内部データはベクトルデータだろうがなんだろうがかまわない。之重要。
必要な部分だけ描画するようにしたほうがいい。必要な部分だけテンポラリイメージにレイヤーしたから描画、全部書いたら表示画面に転送。

くけいは反転ペンとかでかくか、もとがぞうおぼえておいて、それをテンポラリイメージに描画後、必要なく計を好きなように書き、転送。
描画関係のAPIとか書籍などなどいろいろ読むべし。
0766デフォルトの名無しさんNGNG
「Visual C# 2005 Express Edition」を無料でダウンして使用したら
気に入ったんだけど、日本語のドキュメントが貧弱なところが少し
使いづらい。Visual C#.net(2003)はその点どうなのですか?。リフ
ァレンスとかしっかりしていたら買いたいとおもうけれど。
あとEMACSキーバインドと自動補完が自分にあって使いやすかったけ
ど前のバージョンでもこれらの機能がありました?なにせ、ぜんぜん
製品の詳しい説明がのってないので。
0767デフォルトの名無しさんNGNG
>>766
.NET Frameworkの部分はまぁしっかりしてるよ>ドキュメント
MSDNライブラリ全部っていうんなら無理だけど。

つか、2005は、正式版でどこがどう変わるか分からんし。
0768767NGNG
×2005は
○.NET Framework 2.0 クラスライブラリ
0769デフォルトの名無しさんNGNG
EMACS シュミレーション(キーバインド)に変えることができますか?
2003バージョンで
0770デフォルトの名無しさんNGNG
シュミレーションって久々に聞いたw
0771デフォルトの名無しさんNGNG
英語の発音なんてどう聞こえるか。なんだから別にいいんじゃないか
0772デフォルトの名無しさんNGNG
そこでワーニングですよ
0773デフォルトの名無しさんNGNG
□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
0774デフォルトの名無しさんNGNG
マスコミュ

くちコミュ
0775デフォルトの名無しさんNGNG
>771
シュミレーションとは絶対に聞こえない
0776デフォルトの名無しさんNGNG
コミニュケーションだと思ってるアフォも多いな
0777デフォルトの名無しさんNGNG
IME変換していれば間違いに気づいたのにな。
0778デフォルトの名無しさんNGNG
コスモポタリン
0779デフォルトの名無しさんNGNG
.NET2 の Clipboard.ContainsAudio()って、どんなデータを渡すとtrueを返すんですか?
単純に.mid、.mp3ファイルをコピーしてもfalseになるんですが。
0780デフォルトの名無しさんNGNG
まあ例えばOS付属のサウンドレコーダでコピーした時とかだな。
WAV形式のバイト配列。
0781779NGNG
>>780
どうもありがとうございます。

言われてから、Get/Setするメソッド見てみたら、確かにその通りですた・・・ orz
public static Stream GetAudioStream();
public static void SetAudio(byte[] audioBytes);
public static void SetAudio(Stream audioStream);
0782デフォルトの名無しさんNGNG
かえるの子供はおじゃまたくしだもんな。
0783デフォルトの名無しさんNGNG
とうころもしもどうぞ。
0784デフォルトの名無しさんNGNG
そんなことしたらまっろくろくすけが出るぞ。
0785デフォルトの名無しさんNGNG
ASP.NETのWebアプリをC#で書いてるんですが、
(int)Session["ID"];
だと、以下のエラーが出て、
System.InvalidCastException: 指定されたキャストは有効ではありません。

int.Parse(Session["ID"].ToString());
だと問題ないというのが不思議なんですが・・・

nullになってる訳でもなさそうです。
0786デフォルトの名無しさんNGNG
>>785
ほんとに元はint型かい?
0787デフォルトの名無しさんNGNG
漏れの予想ではセッションIDはたぶんストリング。
0788デフォルトの名無しさんNGNG
GetType()で型を調べてみたら?
0789785NGNG
> ほんとに元はint型かい?

有難うございます。なるほど、そういうことなのですか。
Session自体はオブジェクト型を返すので、
Sessionに入れられた時点でオブジェクト型という型になると
誤解していました。

Session["ID"] = Request.QueryString["ID"];
Session["ID"] = int.Parse(Request.QueryString["ID"]);
と変更したら、予想通りの動きになりました。
どうも有り難うございました。
0790デフォルトの名無しさんNGNG
よくアプリケーションのオプションダイアログなどに
適用ボタンがありますが、みなさんはどのようにして実現されてるのでしょう?
今回はメインフォームとダイアログのアプリケーションとした場合、
・ダイアログのコンストラクタにメインフォーム(this)を渡す
・デリゲートを使ってメインフォームのメソッドをダイアログに登録する
・メインフォームにスタティックメソッドを使う
など様々な場合が考えられますが、どれが一番推奨されているのでしょうか?
0791デフォルトの名無しさんNGNG
http://mahyaros.s18.xrea.com/upload/img/rpg2ch_4673.lzh
0792デフォルトの名無しさんNGNG
>790
メインフォームでアプリケーションオブジェクトの管理をしてる時点でうんこ設計
0793デフォルトの名無しさんNGNG
ヽ(・∀・)ノ●ウンコー
0794デフォルトの名無しさんNGNG
複数行からなるテキスト文から特定の行にある文字列を
全部取得するにはどうしたらいいのですか?
0795デフォルトの名無しさんNGNG
すいません、教えてください。
アプリケーションを終了したいのですが

System.Diagnostics.Process[] myProcesses;
myProcesses = System.Diagnostics.Process.GetProcessesByName("プロセス名");
foreach(System.Diagnostics.Process instance in myProcess)
{
instance.CloseMainWindow();
}

とやりますと、終了確認のダイアログが出てきてしまいます。
(終了確認のあるアプリケーションです)
このダイアログを出さないで終了させるにはどうしたらよいでしょうか?
教えていいただけませんでしょうか。
よろしくお願いします。
0796デフォルトの名無しさんNGNG
>>795
Process.Killで良いんじゃないかな。

>>794
Splitしてその配列の中から。
ただし"a\r\nb"は{"a","","b"}にされるので一旦\nに置換するとかすると吉。

大技:TextBoxつくってTextにぶち込んでLinesを使う
0797デフォルトの名無しさんNGNG
>>796
ありがとうございます。
Process.Killでできました。

ご教授ありがとうございました。
0798デフォルトの名無しさんNGNG
すいません。
もう一度お教え願えないでしょうか?

プログラムを実行しまして、次のプログラムに移るときに何秒間か待機させる方法を探しております。
たとえば

if(〜〜){
処理;
}
//ここで何秒間か待機させる
if(〜〜){
処理2;
}

というようなことをしたいのです。
連続の質問申し訳ないのですが、よろしくお願いいたします。
0799デフォルトの名無しさんNGNG
Thread.Sleep
0800デフォルトの名無しさんNGNG
>>790
設定を保持するクラスを用意する。

OKボタン押下時→設定保持クラスの値を書き換えてダイアログを閉じる。
適用ボタン押下時→設定保持クラスの値を書き換えてもダイアログは閉じない。

クラスに限らず、メインフォームとも設定ダイアログとも別の場所に設定情報を
保持しておけばよろし。
0801デフォルトの名無しさんNGNG
今日も小もない質問をしてしまいます。
MSの正規表現クラスで
"aaa bbb ccc test"string[]の中に放り込みたいのですが、
スペースだけなら、.Splitでもしたらいいのですが問題があり、
このスペースが曲者で、UTFとか2バイトの空白も考慮しないとならず
正規表現で取得するのが手っ取り早いと思うのですが、
正規表現を(@"(\S[^\s]*\s)*?")とかでとってきたいのですが、露骨にまちがってますか?
よろしくお願いします。
0802デフォルトの名無しさんNGNG
まず日本語を勉強すべきだな。

Regex.Split("hoge foo bar", "\\s");
0803デフォルトの名無しさんNGNG
>>801
"UTFとか2バイトの空白も考慮しないとならず"

それは C# の string (ユニコード文字列) ではありません。
なんだかわからんエンコーディングの文字列のバイナリ表現を、byte -> char と変換して
適当に string 化したものを一般的に扱う術は無いです。
0804デフォルトの名無しさんNGNG
>>801
もとになる文字列(らしきもの?)を何からどうやって取得しているのか説明してくれれば
知恵を貸せるかもしれない。
0805デフォルトの名無しさんNGNG
元になる文字列現在はテストとして渡されたのが
[1byte空白][UTF空白][1byte空白][文字列][1byte空白][UTF空白]以下ずっとこのような形式で
終端まで続きます。とりあえず、文字列だけ抜き出しかつ要素1つ
1つをstring[]の配列にいれてデータがほしいです。
正規表現で抜き出せないないなら、別の方法を探してみようと思います。
0806デフォルトの名無しさんNGNG
1byte空白って何?そんなもんC#にあるの?
0807デフォルトの名無しさんNGNG
>>805
[文字列]ってのはユニコード?
0808759==754NGNG
上でお騒がせした759==754です。
折れ線グラフを選択したかったので選択範囲だけ折れ線グラフの色を変えて再描画
選択範囲が変わると前の選択範囲を普通の色に書き直して選択範囲をまた〜
ってやってまぁまぁの速度出てたのですが、

ControlPaint.FillReversibleRectangle

ってのを今日になって見つけました… o..rz... 
0809デフォルトの名無しさんNGNG
>808
不謹慎(・A・)イクナイ!!
0810デフォルトの名無しさんNGNG
>>808そいつはよかったな。あと、これでも読んどけ。
http://www.codeproject.com/cs/miscctrl/marchingants.asp
0811759==754NGNG
当然のように
ControlPaint.DrawReversibleLine
なんてのもあるわけで…

>>809さん 不謹慎ですか…ぁぅぁぅ
>>810さん GIMPのソース呼んで勉強したってすごいで努力家ですね、
そんだけやって蟻なのかと… とはいえちらっとPaint.netのソース見たりはしてみたんですが。
FillReversibleRectangleはなかったような…見落としたかな 見てみよっと。
0812790NGNG
>>792
ということは、管理をするクラスを一つ作って、
そのクラスにメインフォームをアップデートするメソッド登録、
ダイアログに管理クラスを渡して適用などを行うようにするのでしょうか?

学生の身分なんで、多くのソース見る機会がないもので(涙
0813デフォルトの名無しさんNGNG
>>812
もっとも安直な実装法としては、以下のようになるでしょう。

設定値保持クラスを作り、Singletonパターンで1個しかインスタンスを作れないようにしておく。
そのクラスを引数にとるアップデート用メソッドをメインフォームに用意する。
設定ダイアログで[OK]あるいは[適用]が押されたら、設定保持クラスのプロパティに値をセットし、
メインフォームのアップデート用メソッドにそれを渡す。
(そのためには、メインフォームからダイアログを開くときに、thisを渡しておく必要がある。それは
あなたの考えているとおり)
[OK]と[適用]の動作の違いは、ダイアログを閉じるか否かのみ。

発展型として、設定保持クラスのコンストラクタで設定ファイルを読み、デストラクタで書き込むとか
いろいろ考えられる。

こういうのは自分で実装してみないと知識もカンも身に付かないので、とにかく自力で思いつく限りの
パターンを実装してみれ。学生ならなおさら。
0814デフォルトの名無しさんNGNG
>812
その手の設計するときはObserver的な考え使ったほうがいい。
OberverではSubjectはObserverがどんなものか知らないし、しる必要もない。そうすることでオブジェクトの分離ができる。
誰がどのクラスを知ってるべきかなど考えてどうするか悩んでるんでしょう?
たとえば、メインフォームのメソッドを呼ぶためにダイアログは名フォームのこと知らなければいけないけど知らせたくないとか。

自分がするならメインフォームクラス、アプリデータクラス、設定管理クラス、設定いじくるようダイアログクラスを作る。
関係は次のとおり(左が右のクラスを知っている)
メインフォーム    アプリデータ、(ダイアログ起動するためだけに)ダイアログ
アプリデータ     設定管理
ダイアログ      設定管理

ダイアログは設定管理だけを更新する。
設定管理は設定変わったイベントを出す。
データは設定変わったイベントを受けて内部データ変えて、データ変わったイベントを出す。
データわかったイベント受けて、メインフォームは表示を変更

たぶんスコープの問題とオブジェクトの分離をごちゃ混ぜにしている。
0815デフォルトの名無しさんNGNG
そこまでやるなら鼻からVC++でDoc/Viewつかった方が早いw
0816デフォルトの名無しさんNGNG
なんでそこにObserverを特殊化した形のDoc/Viewを使う必要がある?
0817デフォルトの名無しさんNGNG
VisualStudioのフォームのデザイン用の画面のワークスペースの色を変更する方法はないでしょうか?
現在は真っ白ですが、できればWindows2000デフォルトのデスクトップ色のくすんだ青色にしたいのですが。
0818デフォルトの名無しさんNGNG
ついでにもうひとつ質問書き込みします。
デバッグF5実行時に、自動的にVisualStudioIDEを
アイコン化(最小化?)してくれる機能は無いですか?
C++BuilderやDelphiにはあったのですが。
0819デフォルトの名無しさんNGNG
>>817
デスクトップ領域で右クリックして「プロパティ」
画面のプロパティダイアログで「デザイン」
指定する部分「アプリケーション作業域」で色かえれ
0820790NGNG
>>813-814
ありがとうございます。
もうちょっと結城さんのデザインパターンの本を読んで自分なりに
勉強してみたいと思います。
0821デフォルトの名無しさんNGNG
Panel上にPictureBoxを設置して自動的にスクロール表示させてるのですが、
パネルのスクロールバーをスライドさしたとき、
表示されている部分の左上のPictureBoxの座標を得るにはどうすればいいですか?
0822デフォルトの名無しさんNGNG
AutoScrollPositionプロパティ。
ただしこれは821の意味ではX,Yそれぞれ負数になっている。
0823デフォルトの名無しさんNGNG
IEのコンポーネントを使用して
ダイアログ内の設定画面をHTMLで作成して入力された値を
ほげほげってできないかな。
0824デフォルトの名無しさんNGNG
>>823
C#の前に日本語を覚え直そう。
0825デフォルトの名無しさんNGNG
|-`).。oO(ほげほげを指摘されているわけじゃないよね。。。?)
0826デフォルトの名無しさんNGNG
普通にできそうだ。サンキュ。
0827デフォルトの名無しさんNGNG
インプロセスで動く簡易的なWebサーバーコンポーネント欲しいよね。
IEコンポーネント使っても、ページの内容を動的に変えるのってかなりめんどいし。
Web Forms使って内容を出力できたら便利なのに。
と以前pluggable protocol使ってIEコンポーネントでアプリのヘルプ見れるようにしたときに思った。
0828821NGNG
>>822さん
ありがとうございます。早速やってみます。
0829デフォルトの名無しさんNGNG
MyWebなんて覚えてる人いる?
0830デフォルトの名無しさんNGNG
クラスAにstatic int num;してコンストラクタでnum++;、デストラクタでnum--;すれば、
クラスAのインスタンスの数が分かりますよね?

で今やりたいのは、クラスAから派生した全てのクラス(B,C,D,,,,,,,)の数を知りたいのですがどうしたらいいですか?
0831デフォルトの名無しさんNGNG
>>830
インスタンス数じゃなくてクラス数なら、わざわざプログラムで解決する必要ないような。
オブジェクトブラウザでも使ったら?
0832デフォルトの名無しさんNGNG
プログラム板って雰囲気悪いね
0833デフォルトの名無しさんNGNG
>>830
sealed クラスならいざ知らず、そうじゃないクラスならば全ての子クラス数を取得することは無理っすよ
アセンブリ単位でクラス数が固定されているのならば、↓のような感じでできますが

[手順]
Assembly.GetAssembly().GetTypes() とかでアセンブリ内の全ての Type の配列を取得
Type.IsSubclassOf(typeof(ClassA)) で一つ一つ確かめながら数えていく
0834デフォルトの名無しさんNGNG
>>799
ありがとうございます。
できました。
感謝いたします
0835デフォルトの名無しさんNGNG
すいません・・・。
多々にわたる質問本当にすいません。

FileSystemWatcherを教えてもらったとき、気がつかなかったことがあります。
実は今日気がついたことなのですが、
私はログファイルを監視するようにしています。
そのログが更新されるときに問題が発生しました。
更新したログファイルを書き込むときに、一度もとのログを削除してから書き込まれます。
そこでイベントが発生してしまい、困っています。

この問題を解決するためにはどうしたらよろしいでしょうか?
私も考えて見たのですが、どうもうまくいかなく、質問させていただきました。
あつかましいようですが、なにとぞお力添えをいただけないでしょうか?

0836デフォルトの名無しさんNGNG
あつかましいです
0837デフォルトの名無しさんNGNG
ひょっとして830が言ってるのはあるクラスの全派生クラスのインスタンス数ではないのか。
そうなら基底クラスのデフォルトコンストラクタに830みたいな機構入れておけばいいんだけど。


>>835
わけわからん
0838デフォルトの名無しさんNGNG
初歩的な質問ですみません。
c#で
”H16/11/01”みたいに平成をHで出す事できますか?
Datetime型→stringへの変換時です。

後、それからもっと初歩的ですみません。
Comboboxでドロップダウンリストを出して選ぶと必ずイベントをとりたい
場合ってどうしたらいいんでしょう?
SlectedIndexChangeイベントだと、インデックスが変わった時しか発生しません。
インデックスが変わらなくても、選ばれると発生させたいんです。
Clickイベントを起こすのは嫌だなと思ってます。

宜しくお願いします。
0839デフォルトの名無しさんNGNG
>>838
JapaneseCalendar.GetEra()

ComboBox を継承してイベント追加。
0840デフォルトの名無しさんNGNG
>>838
>  c#で
>  ”H16/11/01”みたいに平成をHで出す事できますか?
>  Datetime型→stringへの変換時です。

ttp://www.ailight.jp/Wareki_2.aspx
最終的には力ずく。

>  Comboboxでドロップダウンリストを出して選ぶと必ずイベントをとりたい
>  場合ってどうしたらいいんでしょう?

ComboBox.DropDown

>  初歩的な質問ですみません。

ふらっとC♯(Part5)
http://pc5.2ch.net/test/read.cgi/tech/1065196964/
0841デフォルトの名無しさんNGNG
って選んだ時ならDropDownイベントじゃないか。
0842デフォルトの名無しさんNGNG
ComboBox.SelectionChangeCommittedがお望みの動作に限りなく近いはず。
0843デフォルトの名無しさんNGNG
>>835
すいません。

FileSystemWatcherでログファイルを監視して
そのログファイルのサイズが0になったらイベントを起こしています。
しかし、ログファイルの更新があると、勝手にイベントが動いてしまいます。
それを避けるにはどうしたらよいのでしょうか?

おかしな文章でしたら申し訳ないです
0844デフォルトの名無しさんNGNG
戸愚呂弟が強い。
指弾で体力削られた後、100%中の100%喰らうとマジ厳しい orz
0845デフォルトの名無しさんNGNG
>>843
イベントで起動するメソッドの方で判別すりゃいいじゃん。
0846デフォルトの名無しさんNGNG
>843
何でログ書くときに削除されるの?
そのログクラスの仕様を削除イベントで内容に変えるか、更新前イベント、更新後イベントつけて、その間の削除イベントは無視するかが自然じゃないの?
0847デフォルトの名無しさんNGNG
>>845-846
レスありがとうございます。

私はログが更新されるときにファイルがクリアされてから書き込んでいるとは思わなかったです。

私はイベントが起こったら数秒待機させて、そしてもう一度ログを読み込ませて
書き込まれていればイベントを停止させて、書き込まれていなければ
そのまま実行させる
ということをやろうとしましたが、どうもうまくいかなくて・・・。
なにぶんプログラミングは初めてでまだわからないところがたくさんあります。

すいませんでした。
もう一度じっくり考えて見ます。
0848デフォルトの名無しさんNGNG
this.toolTip1.Active =false;
this.toolTip1.SetToolTip(this.pictureBox1, e.X.ToString()+" , "+e.Y.ToString());
this.toolTip1.Active =true;
というコードをPanel上に配置したPictureBox1のMouseMoveに書いたのですが、
まったくToolTipが表示されません。
他のコントロールからPictureBoxに移動してきてすぐも表示されません。
this.toolTip1.InitialDelay = 1000
this.toolTip1.AutomaticDelay = 200
this.toolTip1.AutoPopDelay = 200
this.toolTip1.ReshowDelay = 40
です。 何が悪いのでしょうか?
0849デフォルトの名無しさんNGNG
this.toolTip1.Active =false;
がいらん。
0850デフォルトの名無しさんNGNG
すいません。
RitchTextBoxに1行ずつ書き込んで生きたいのですがどうやればいいのでしょうか?
0851848NGNG
>>849さん
ありがとうございました。ばっちり動きました。
http://dobon.net/vb/dotnet/control/lvitemtooltip.html
みて毎回falseにしてました。
0852デフォルトの名無しさんNGNG
嫌な生き方だな。
0853デフォルトの名無しさんNGNG
次期VBには、Myクラスという便利な機能が付くようで、羨ましいです。
C#では、やっぱりMyクラスは、使えないのでしょうか?
0854デフォルトの名無しさんNGNG
>>853
いや別に便利でもないし。
結局既存クラスのメソッドプロパティを関数ベースにラップしてるだけだし。
使おうと思えば使えるけど使おうと思わないな。
0855デフォルトの名無しさんNGNG
ちょっと正しくないか。
既存クラスのラッパクラスを関数ベースっぽく扱えるようにコンパイラが小細工する、だな。
一部のメソッドなんか省略パラメータ代わりのオーバーロードで醜いこと甚だしい。
0856デフォルトの名無しさんNGNG
>>855
いや、VB の位置付けを考えるとMyみたいな簡易版のライブラリは重要じゃないか?
ということとは別として、何が「やっぱり」なのかはわからないけど普通に考えると使えそうだよね。
0857デフォルトの名無しさんNGNG
ここを見ると、VB固有の新機能ってあるけどなあ
http://enterprise.watch.impress.co.jp/cda/software/2004/08/25/3167.html
0858デフォルトの名無しさんNGNG
VisualStudio.NET2003の統合開発環境のエディタと同じキーマップのエディタってないですかね?
ほんとはIDEから切り離したいんだけど、それだとタイーホされちゃいそうだし、
それ以前に切り離しかたがわからないです。
0859デフォルトの名無しさんNGNG
適当なエディタのキーバーインドをカスタマイズすればいいだけなんじゃないのか?
0860デフォルトの名無しさんNGNG
858です。そういうレスがつくのは大体予想してた。
キーバインドでVS.NET2003とほとんど同等になる
コンフィグファイルを公開してるのってどんなエディタがありますか。
やっぱ EMACS ですかね?
0861デフォルトの名無しさんNGNG
VSのエディタだけが欲しいのなら
エディタ以外を非表示にすればいいんと違うの?
シンプルなタブ型エディタになるよ。
.txtとかを開くときはデフォでなってるし。
0862デフォルトの名無しさんNGNG
何だかまた「エディタvsIDE」の論争になりそう。
そういうわけで・・・・
http://www.ogis-ri.co.jp/otc/hiroba/others/OORing/interview20.html
これの後半を読め。
Unixを使ってる人でもVisualStudioのIDEを評価してるぞ。
0863デフォルトの名無しさんNGNG
いや、あのさ。
VisualStudioの入っているPCの時は起動は重いけどそれなりに楽しく使ってる。
VisualStudioの入っていない端末にいったときにはnotepad.exeを使えばいいってことも頭ではわかってる。。
だけど体がうけつけんのだよ。だからCD-Rとかに使いやすいエディタを入れておいて、
使う時だけインストール、仕事が終わったらアンインストールってな感じで使いたいんさ。
0864デフォルトの名無しさんNGNG
あ、それとね、
>>862 べつにIDEが嫌いなわけじゃないんだよね。
IDEが好きだから、エディタを切り離して別のところで使いたいなーと思っただけ。
エディタからコンパイラとかリンカを ShellExecute しようとは思っていないですよ。

OSにプログラマも満足するような、フルパワーなエディタが標準でついていたらいいのにね。
0865デフォルトの名無しさんNGNG
この天気のいい日曜日にグチを書き込んで、おれは悲しいな。
遊びにいくべー、じゃあそんなわけでバイバイ。
0866デフォルトの名無しさんNGNG
>>863-864
確かにそれは便利だな。
0867デフォルトの名無しさんNGNG
panal上にPictureBoxを配置してスクロール表示さしてるときに、
スクロールバーの現在位置を変えるにはどうしたらいいですか?
0868デフォルトの名無しさんNGNG
>>867
Panel.AutoScrollPositionプロパティ。
ちょっと数値が直感的でないから要注意だ。
0869デフォルトの名無しさんNGNG
C#を勉強したいと思っているので、ツールを買おうかなと思っています。
でもC#のツールってVisual C#以外にもあったんですね。
Visual C#とBorland C# Builderってどう違うんでしょう?
初心者はやっぱVisual C#ですかね・・・?
0870デフォルトの名無しさんNGNG
>>869
無難なのはVisual C#
金が勿体無いと思うならShaepDevelop (フリーソフト)
マニアならC# Builder

とりあえずSharpDevelop使ってみ。
0871デフォルトの名無しさんNGNG
>>870
レスありが�d
さっそく落としてみようかなと
0872867NGNG
>>868さん
レスthxです。

無事思い通りに行きました。
0873デフォルトの名無しさんNGNG
TextBox.TextChangedとか、
TrackBar.ValueChangedなんですけど、
これらのイベントの発生原因が、ユーザーの入力なのか、プログラムからの呼び出し(TrackBar.Value=0とか)なのか、
判別する方法はないですか??
0874デフォルトの名無しさんNGNG
Zhang-Shasha algorithmというXMLの差分比較アルゴリズムの
C#のソースってありませんか?ちょっとこれ実装してみたいのですが、
原著見ても数式理解できないのソースとにらめっこしたいです。
0875デフォルトの名無しさんNGNG
>>874
数式記載を激しく希望。
0876デフォルトの名無しさんNGNG
.NET Framework SDKに入っているXMLdiffにはC#のソースが
付いているらしいのだが。
0877C ◆ZHxgEbZjZg NGNG
すいません VSの使い方を教えてください。こういうことができるかどうかもわかりません。


LOGIN.form のボタンをクリックすると MENU.form を呼び出すように作成しています。
デバッグ開始すると必ずLOGIN.form が出てきてしまいますが、MENU.formだけをデバッグすることはできるのでしょうか?
2階層くらいならまだいいのですが、階層が増えていくと、非常に面倒です。

くだらない質問かもしれませんが、どうか教えてください。よろしくお願いします。m(_ _)m

0878デフォルトの名無しさんNGNG
>>877
#if DEBUG
this.buttonMenu.performClick();
#endif
とかしておけば?
0879デフォルトの名無しさんNGNG
>877
ビジュアルスタディオよりもプログラムについて勉強されたほうがいいと思います。
0880デフォルトの名無しさんNGNG
Windows Forms の DateTimePicker で 2004年11月 のように
年月のみを入力させるようにはできませんか?
0881デフォルトの名無しさんNGNG
>>880
DateTimePicker.Format
DateTimePicker.CustomFormat
あとカレンダー使うのは不自然だろうからDateTimePicker.ShowUpDown
0882デフォルトの名無しさんNGNG
すいません。どうやってやればいいのか検討もつかないので教えてください。

ある通信プログラムがどれぐらいの速さで通信しているか調べる方法はあるでしょうか?
ある通信プログラムというのはネットゲームだったり、ウェブからファイルをダウンロードしたりということです。

ソケットとか調べるのかな?といろいろ調べてみましたがよくわからなかったです・・・・。
すいませんが、よろしくおねがいします。
0883デフォルトの名無しさんNGNG
>>882
あんまり細かい事考えてると禿るぞ。

ttp://ukamen.hp.infoseek.co.jp/Programming2/PerfMeter/index.htm
0884デフォルトの名無しさんNGNG
ある特定のクラスのサブクラスを列挙するもの無いですか?
0885デフォルトの名無しさんNGNG
Labelを、DockStyle.Fillにしても、
全体化(?)されないのは仕様ですか?
0886デフォルトの名無しさんNGNG
>>885
Docking できたよ。
0887デフォルトの名無しさんNGNG
>>884
論理的に不可能。
今のアセンブリ限定とかなら>>833みたいな手法で。
0888デフォルトの名無しさんNGNG
下記の文章の意味が分かりません。
誰か解説してもらえないでしょうか?
delta-metadataやらdelta-ILやらがさっぱりです。

The compiler supplies delta-IL and delta-metadata, which is used to replace parts of the existing IL and metadata in memory.
Delta-IL and delta-metadata simply refers to the gap used to insert the edited code.
If the edited methods have been JIT-ed into native x86 code, they are replaced with new x86 code.

なお、この文章は下記のページからの引用です。
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/edit_continue.asp
0889デフォルトの名無しさんNGNG
入れ子になったnamespaceを作り、親のnamespaceのみusingした場合、
子のnamespaceが見えないのは何故なんでしょう?

using System;
using A; // ←親のnamespaceをusingしておく
namespace A {
namespace B {
public class Hoge
{
public static void foo(){}
}
}
}
class Test {
[STAThread] static void Main(string[] args) {
B.Moge.foo(); // ← ERROR
// 型または名前空間名 'B' が見つかりませんでした。
// ディレクティブを使うかアセンブリ参照を使ってください。
}
}
0890デフォルトの名無しさんNGNG
>>888
(Edit and continue が行われると、)コンパイラは命令とメタデータの差分を生成し、
メモリにある既存の命令とメタデータの一部はそれらによって置き換えられます。
変更された命令とメタデータは、ソースコード上でそれらが挿入された位置に対応
する位置に収められます。
もし編集されたメソッドがJITコンパイラによってx86命令に置き換えられていた場合
には、それらは新しいx86命令によって置き換えられます。
0891デフォルトの名無しさんNGNG
>>889
下記のように仕様なわけだけれども、なぜそういう仕様なのかっていう質問ですか?
>Create a using directive to use the types in a namespace without having to specify the namespace.
>A using directive does not give you access to any namespaces that may be nested in the namespace
>you specify.

ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/csref/html/vclrfusingdirective.asp
より引用。手元の SDK のドキュメントでも同じように書かれている。
0892デフォルトの名無しさんNGNG
>>890
ありがとうございます。
こんなに早く回答していただけるとは思いませんでした。
英語が苦手なので大変助かりました。
本当にありがとうございました。
0893889NGNG
>>891
情報ありがとうございます。

そういう仕様だったのですか…。
C++では普通に使えていたので、C#でもできると思い込んでおりました。
ありがとうございました。
0894デフォルトの名無しさんNGNG
>>893
C# 2.0 では、
namespace A{ namespace B{ namespace C{ class Foo{ .....

using D = A.B;
using E = A.B.C;
D::C.Foo;
E::Foo;

とかいうまねならできたはず。
0895デフォルトの名無しさんNGNG
>>894
エイリアスを使うものなら1.0でも
using IO = System.IO;
Console.Write(IO.IsolatedStorage.IsolatedStorageScope.Assembly);
なんて書き方ができるよ。
//プリプロセッサのマクロに近いな、この使い方。

::は名前空間とクラスの名前が同じ場合にそれが名前空間であることを明示するため、だったっけ。
0896デフォルトの名無しさんNGNG
>>894
結局エイリアス名を書かないとならないのですね。

---
お作法や効率的に良いか悪いかは分かりませんが、
ネストしたクラスを使って、やりたかった事が出来ました。
namespace A { class B { class Hoge { .....

using A;
B.Hoge hoge=newB.Hoge();
0897デフォルトの名無しさんNGNG
ところで、鯖側に強制終了された Socket に、書き込みを行おうとすると
一度目では例外が発生せずに、二度目ではじめて例外が発生するのは何でですか?
0898デフォルトの名無しさんNGNG
IPEndPoint ipEndPoint = new IPEndPoint(Dns.ResolveToAddresses("http://www.google.com")[0], 1101);
で、
要求した名前は有効で、データベースにありますが、解決された正しい関連データがありません。
ってエラーが出るんですが、どうやったら直りますか?
0899デフォルトの名無しさんNGNG
>>898
"www.google.com"で試してみたら?
//なんでyahoo.comならスキーマ付きで通るんだか。
0900デフォルトの名無しさんNGNG
相談させて下さい。

windowsのDatagridに入力するフォームで、一定時間毎にDataSetを更新しようと思います。
ただしデータを入力中に更新したくないので
今グリッドの中でデータを入力している最中だということを、知りたいのですが、
それらしいプロパティが見つかりません。

もし、あるのなら教えて下さい。
よろしくお願いします。

0901デフォルトの名無しさんNGNG
>>883
ありがとうございます。
なるほど、こんな風にして値を算出すればよさそうです。
本当にありがとうございます。

あとどうしてもVisual Studio.NETのバグとしか思えない現象になってしまいました。
その現象というのは、イベントが発生しない、というものです。
さっきまではきちんと動作していましたが、もう一度コンパイルしてみるといきなり動かなくなってしまいました。
書いたはずのイベントが無かったことにされているようです。
例ですが
buttonを押したときイベントを起こすには
private void buttonSend_Click(object sender, System.EventArgs e)
{
      処理;
}
となるじゃないですか。
認識されてないのか、ボタンを押しても何も起こりません。
挙句の果てに、もう一回イベントをつけようとすると
private void buttonSend_Click(object sender, System.EventArgs e)
{

}
と、上に同じイベントがあるにもかかわらず新しく作られてしまいます。

これってやはりバグなのでしょうか?
今まで作ってきたのにすべてやり直しになってしまいました。
この現象の直し方などを知っている方、どうかお助けください。
長文すいませんでした。
0902デフォルトの名無しさんNGNG
>>901
メソッドを追加しただけじゃイベントハンドラにはなりませんよ。
デザイナでイベントハンドラを追加したときには、VS.Net が InitializeComponent 関数内に
イベントとメソッドの対応付けのためのコードを書いてくれます。

コンストラクタにあった InitializeComponent の呼び出しを消してしまったんじゃない?
0903デフォルトの名無しさんNGNG
>>900
逆に、更新する時間になると、入力不可能にするとかは駄目?
Enabledプロパティで簡単に出来るけど。
0904デフォルトの名無しさんNGNG
DataTableにColumnChangingイベントあるからこれが発生したら
フラグでもtrueとかにして、そのフラグを監視して更新制御をする
方法しか思いつきません。DataSetにDataTable入れ込んだやつをDataGrid
にセットすれば、セルをクリックした時点でColumnChangingを捕捉できます。

またまた、くだらない質問なのですがC#で全方向リストを作成する場合、
インターフェイスにICloneable, IEnumerableを実装して実装するチュートリ
アルもしくはサンプルがあれば教えください。
0905デフォルトの名無しさんNGNG
>>902
ありがとうございます。
今調べてみましたが、その中には何も書いてありませんでした。

確認のために適当なソフト作ってみました。
デザイナでイベントハンドラを追加してみましたが、そういうコードはどこにも追加されていませんでした。

orz・・・・なきそうです・・・
0906デフォルトの名無しさんNGNG
>>904
>  またまた、くだらない質問なのですがC#で全方向リストを作成する場合、
>  インターフェイスにICloneable, IEnumerableを実装して実装するチュートリ
>  アルもしくはサンプルがあれば教えください。

双方向リストのことかね。
ttp://www.google.com/search?num=100&oe=utf8&q=Doubly-linked+list
//全方向リストでgoogleのヒット0件だった……。
0907デフォルトの名無しさんNGNG
OpenFileDialogクラスで開いたダイアログがLUNAインターフェイスに
対応してくれません(マニフェストはちゃんと設置してあります)
対応させるにはAPIを使うしかないんでしょうか?
0908デフォルトの名無しさんNGNG
うちの環境だとちゃんと適応されているが?
.NET のバージョンは 1.1 で。
0909900NGNG
>>903

でもたぶん更新すると入力中のデータって、入力前の値に戻っちゃいますよね?
入力中の行のデータを待避して更新して戻そうと思っても
セルの中を編集している最中だと、その編集中の値を持ってこれないし。。
0910デフォルトの名無しさんNGNG
Application.Run()の前に、
Application.EnableVisualStyle()
やってみるとか?
0911900NGNG
>>909

自己レスというか追加なんですが、
ここでいう更新のやり方がまずいのかもしれないので。

複数人で平行してテーブルのデータを編集するのですが、
dataadapterのupdateだけだと他の人が削除したデータが、gridから消えないので
自分のセル位置を覚えて、clearしてupdateしてまた覚えていたセル位置に戻っています。

こういう更新の仕方をしてると、編集中のデータは元に戻ってしまいます。
0912デフォルトの名無しさんNGNG
>>909
うろ覚えで悪いが、編集部分は単なるEditボックスじゃなかった?
0913デフォルトの名無しさんNGNG
C#.NETって便利でイイんだけど重くなるのがネック
0914デフォルトの名無しさんNGNG
.NET Passportのサンプルってないですか?
0915デフォルトの名無しさんNGNG
>>913
Athlon64 3700+でチョー高速だぜ、フゥーハハハァー
0916900NGNG
>>912

editboxでググってみたら
http://www.gdncom.jp/general/bbs/ShowPost.aspx?PostID=14098
で似たような似てないようなスレを見つけました。

明日会社でがんばってみます。
0917デフォルトの名無しさんNGNG
>>905
その書き方だと間違ったやり方でやってないか?
デザイナでやるなら、デザイナ上に配置したボタンをダブルクリックしてみ。
するとコードのInitializeComponentでイベントハンドラが自動で追加されて、
対応するメソッドも書き加えられて処理をかけるようになるはず。
0918デフォルトの名無しさんNGNG
BASEライブラリのプロテクト プロパティにプログラムで利用するにはどうしたらいいでしょう。
0919デフォルトの名無しさんNGNG
>>918
プロテクトプロパティを持ったクラスを継承する。
継承したクラスなら使える。>protectedメンバ
0920デフォルトの名無しさんNGNG
>>917
ありがとうございます。

はい、私はずっとその方法でやってました。
デザイナでボタンをフォームに配置してみまして、ダブルクリックしてやってみました。
しかしInitializeComponent();にイベントハンドラなどは追加されておりません。

しかし・・・・なんでこんなことに・・・・
バックアップの必要さを身にしみて感じました・・・
0921デフォルトの名無しさんNGNG
>>920
対象のフォームは、当該ソースファイルの一番先頭のクラスになってますか?
0922デフォルトの名無しさんNGNG
>>919
サンクス
0923デフォルトの名無しさんNGNG
>>921
ありがとうございます。

はい、なっていました。
とりあえず、動くところと動かないところがありました。
まるっきり全部動かない状態じゃなくてよかったです。
それで、もう一度同じイベントを作ってあげて処理のソースをコピペしてあげると今度は動きました。
原因はまったくわからないですが、それで解決できるならその方法でやってみようと思います。

一時期はどうなることかと思いました・・・・
0924デフォルトの名無しさんNGNG
>>923
デザイナでいじるときは、たまに破損することがあるから気をつけたほうが良いよ。
しかもUNDOできなかったりしてね。
バックアップを取るとともに、フォーム内のコードは最小限にしてロジックは外に出したほうが良い。
0925デフォルトの名無しさんNGNG
フォームレイアウトも手書きした方が何かと楽だね。
最初はメンドイけど慣れれば結構スラスラ書けるものだよ。

わけわからないコード挿入されないし、
意味もなくリソースファイル使われないし、
コード全体が100パーセント把握できる。

RADによる隠蔽はいいことばかりじゃないからね。
個人的にはデメリットの方が多い。
0926デフォルトの名無しさんNGNG
RADは厨にも分かりやすくするための戦略だよ。
delphi使いには厨しかいないのがいい例。
0927デフォルトの名無しさんNGNG
>925
>RADによる隠蔽はいいことばかりじゃないからね。
>個人的にはデメリットの方が多い。
一体どんなデメリットがあるんだ?
足りない部分はformのコンストラクタで付け加えればいいし、
こういう発言を聞くと、一昔前の
「HTMLのタグは手打ちに限る。HTMLエディタを使うなんて言語道断」
という主張を思い出す。
0928デフォルトの名無しさんNGNG
>>927
昔々は炊飯器で米を炊くのが邪道だったそうだ。
放っておいてやれ。
0929デフォルトの名無しさんNGNG
>>927
「RADによる隠蔽」についてなら漏れも925に同意だけど、C#の場合別に隠蔽されてないしね。
リソースだってイメージリストやアイコン付加した際、国際化可能としてリソース分離するときなど、
必要な場合にしか使われないし。

>>925
コンパイラも使わないで IL を手で書ければ最高だよね。
慣れれば結構すらすら書けるものだよ。コード全体を100%把握できるし。
大きいコードを書く気にはなれないのが難点だけど。
0930デフォルトの名無しさんNGNG
>>929
ILよりもバイナリエディタの方がきめ細かく制御できてお勧めダヨ。
0931デフォルトの名無しさんNGNG
このままだと
「.NETのライブラリはソースが公開されていないので信用できん!」
とか言い出しそう。
0932デフォルトの名無しさんNGNG
公開されてるじゃん、バイナリエディタで読める。
0933デフォルトの名無しさんNGNG
>>931
普通に見られるんだが。
あ、MethodImpl属性ついてるのはだめよん

俺の場合、ソースを読んでさらに信用しなくなった。
0934デフォルトの名無しさんNGNG
>>887
ありが�d
0935デフォルトの名無しさんNGNG
>933
Reflectorを使うってこと?
見れないことはないだろうが・・・
0936デフォルトの名無しさんNGNG
>927
>足りない部分はformのコンストラクタで付け加えればいいし

でもこれはRADでできないことは手書きで、っていうことでしょ。
RADの事情をコードに持込むってのはどうなんだろう。

あと、"一昔前"のHTMLは事情が違いすぎるような。
エディタ使ったドキュメントが表示できないなんて普通にあったし。
0937デフォルトの名無しさんNGNG
>925
RADじゃダメな時、というのをマジで教えて欲しいのだが。
動的生成の場合は当然無理だが。
一体どんなGUIなんだ??
0938デフォルトの名無しさんNGNG
>>936
>RADの事情をコードに持込むってのはどうなんだろう。

その結果が激しく不自然なコードになるんじゃなければ、別に良いと思うけど。
だいたい実装用のコードなんてのは抽象的仕様記述じゃないんだから、
開発環境、利用する言語、利用可能なPGの能力、利用環境など様々な事情を
反映したものになって当然なわけで。
0939デフォルトの名無しさんNGNG
IDEからのイベントハンドラ登録とかは確かに適当だとは思う。
初期化時に複数登録したい時とかってこうするしかないし。

InitializeCompornents(){
  Button1.Click += new EventHandler( method1 );
}
Form1(){
  Button1.Click += new EventHandler( method2 );
}

あと、プロパティウインドウからだとTagにテキストしか入れられないから
初期化時に別のを入れようとするとやっぱ別の場所でやらなきゃいけないのもなぁ…。
0940デフォルトの名無しさんNGNG
以下をformのコンストラクタに貼り付けるとダイアログに早代わり!

// ダイアログらしくする
this.MaximizeBox = false; // 最大化ボタンなし
this.MinimizeBox = false; // アイコン化ボタンなし
this.ShowInTaskbar = false; // タスクバーに出さない
this.FormBorderStyle = FormBorderStyle.FixedDialog; // ダイアログスタイル
this.StartPosition = FormStartPosition.CenterScreen; // 画面中央に表示

・・・プロパティウインドウでもできるじゃん・・・
0941名無しさん♯NGNG
早めに次スレ立てときますた。
http://pc5.2ch.net/test/read.cgi/tech/1100240847/l50

そろそろ新しいテンプレが( ゚Д゚)ホスィ・・・
何か案がありましたら書き込んでくださいませ。
0942デフォルトの名無しさんNGNG
datetimepicker の背景色を変える事はできないのでしょうか?

textbox.BackColor のようなプロパティが datetimepicker に見あたらない
のでどうやればいいのか途方に暮れています。

カレンダーの背景色は変える事ができるのに、通常の背景色を変える事は
できないのでしょうか?

変更方法があれば教えてください。
0943デフォルトの名無しさんNGNG
>>942
http://support.microsoft.com/default.aspx?scid=kb;ja;832041
0944デフォルトの名無しさんNGNG
>DateTimePicker.BackColor

プロパティ自体はあるんだよな。
何故かインテリセンスには出てこないけど。
0945デフォルトの名無しさんNGNG
質問させてください。
if(radioButton1=true)
{
int M = 1;
}
eles if(radioButton2=true)
{
int M = 100000;
}
eles if(radioButton4=true)
{
int M = 100000000;
}
eles if(radioButton5=true)
{
long M = 10000000000;
}
else if(radioButton6=true)
{
long M = 1000000000000;
}
というものを書いたのですが、「;が必要です」と表示されて
エラーになってしまいます。
どうしてでしょうか。
また、テキストボックスからの数値を変数に入れて、for文で
ほかの変数と比較するにはどうしたらよいでしょうか。
0946デフォルトの名無しさんNGNG
>>945
そのエラーの原因は一部elseがelesになってるからだろうが、
ほかにもツッコミどころの多いコードだな。

>  また、テキストボックスからの数値を変数に入れて、for文で
>  ほかの変数と比較するにはどうしたらよいでしょうか。

質問が要領を得ない。
・質問文に複数のポイントがあるがそのどれが分からないのか、それとも何もかも分からないのか?
・他の変数ってどういう風に定義されているのか
0947デフォルトの名無しさんNGNG
このいきなり宣言されたMをどうやって使うつもりなんだろうか…。
0948デフォルトの名無しさんNGNG
そもそも代入してるから最初のifが必ずtrueになるわけだが。
0949デフォルトの名無しさんNGNG
radioButton1=true って何がしたいんだ?

プログラムを作る前に、(MSDNを)半年ROMってろ。
0950942NGNG
>>943 >>944
ありがとうございます。

バグって事は、DateTimePicker を使う時点で BackColor を変更できない
って事なんでしょうか?
0951デフォルトの名無しさんNGNG
>>945
面白すぎ
0952デフォルトの名無しさんNGNG
お前ら釣られすぎですよ
0953デフォルトの名無しさんNGNG
ボタンがフォーカスを受け取らないようにするにはどうしたらいいでしょうか?
CanFocusプロパティは読み取り専用で設定できないようなので・・。
何か方法がありましたら教えて下さい。
0954デフォルトの名無しさんNGNG
Enabled を false にする
0955デフォルトの名無しさんNGNG
>>954
レスありがとうございます。
ボタンの機能はそのまま(クリックできる状態)で
クリックしてもフォーカスが移らないようにしたいのです。
ToolBarのボタンみたいな感じです。
DelphiのSpeedButtonのようなコントロールがあればいいのですが・・。
0956デフォルトの名無しさんNGNG
WM_SETFOCUS を受け取った際に別のウィンドウに SetFocus するとかは?
0957デフォルトの名無しさんNGNG
>>956
C#でWindowsメッセージを扱ったことがなかったので、
ためしにEnterイベントで同じことをやってみたら思い通りに出来ました。
ありがとうございました!
0958デフォルトの名無しさんNGNG
フリーのPDF生成ライブラリにオススメはなにかありますか。
iText.NETはJ#ランタイムを入れなくてはならないらしくて、ちょっと躊躇中・・・
0959デフォルトの名無しさんNGNG
メインメニューの項目のショートカットキー項目にスペースキーなどが無いのですが、
これを追加するにはどうしたらよいのでしょうか?
0960デフォルトの名無しさんNGNG
>>959
ProcessCmdKey
0961デフォルトの名無しさんNGNG
すいません。
>>883が紹介してくれましたやつで参考にさせていただきましたが
それぞれの環境でintarface nameをいちいち指定してあげなければいけないのは大変だなと思いまして
intarface nameを自動で取得したいのですが、どうやれば取得できるのかわかりません。
すみませんが、自動でintarface nameの取得の仕方をお教え願えませんでしょうか?
よろしくお願いします。
0962デフォルトの名無しさんNGNG
すいません。
スペルミスです・・・。
×intarface
○interface
0963デフォルトの名無しさんNGNG
>>961
自動で、と仰る意味がよくわかりませんが。
Type.GetInterface メソッドとか如何でしょう。
0964デフォルトの名無しさんNGNG
>>961
はて、883のリンク先にinterface nameなんて用語出てこなかったが、インスタンス名のことでいいのかね。

GetInstanceNamesで取得したstring配列をチェックしてみれば大体傾向はつかめると思うんだが。
//ネットワークアダプタが複数ある可能性がある場合にどうするか、が問題だ。
0965961NGNG
>>963-964
亜rが問うございます。

あら・・・・
申し訳ありません。IntarfaceNameじゃなくてInstanceNameでした・・。

GetInstanceNameで取得できました!!
ありがとうございます。

しかし、ネットワークアダプタが2つある場合はどうしたらよいでしょう・・・。
本当にこれが問題ですね。

ちょっと考えてみます。
0966965NGNG
変換ミス・・・orz
ありがとうございます、でした・・・。
0967デフォルトの名無しさんNGNG
/win32icon で設定したアプリケーションアイコンを
プログラム内から取得するには、どうすればいいんでしょうか?
0968デフォルトの名無しさんNGNG
HashtableをReadonlyにするにはどうすればいいですか。
0969デフォルトの名無しさんNGNG
>>968
中身一個一個をReadOnlyにしたいの?
全体をReadOnlyにしたいの?
0970デフォルトの名無しさんNGNG
ArrayList.ReadOnly() のHashtable版みたいなものを言ってるんじゃないの?

このあたり、const参照/ポインタがあるC++なら何も考えなくていいんだけどな
0971デフォルトの名無しさんNGNG
よくわからんがそれぐらい自分で作れ
0972デフォルトの名無しさんNGNG
public class TextBoxEx : TextBox {
 public TextBoxEx() {
  this.SetStyle(ControlStyles.DoubleBuffer | ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint,true);
 }
}
ってことをしたいんだが、派生クラスをつくらないでunsafeな感じにアクセスすることってできないかな?
邪道?
0973デフォルトの名無しさんNGNG
>>972
リフレクションを使えば可能だが、正直必然性が分からない。
邪道かと聞かれれば当然邪道。
0974デフォルトの名無しさんNGNG
Label コントロールの TextAlign プロパティにて
MiddleCenter や BottomCenter などを指定しても
縦位置が中央寄せや、下寄せにならず常に上寄せになってしまうのですが、
縦位置を中央や下寄せにするにはどうしたらよいのでしょうか?
0975デフォルトの名無しさんNGNG
>>973
サンクスコ。
使うコントロールだけクラスを増やし、それにたいしてのアクセスのために
デザイナのコードとかいじらなくてはいけなくなるなぁとめんどうくさがっていました。
0976デフォルトの名無しさんNGNG
Windowsコントロールでコンソールを再現したいのですが
どうしたらいいでしょう?
FormにTextBoxを貼り付けたものを試したのですが、
テキストを追加して最後の行までスクロールする事が
出来ませんでした。
カレットまでスクロールするメソッドがありますが、
テキストを追加するとカレットが消えてしまいます。
0977デフォルトの名無しさんNGNG
Panelの境界線をFixedSingleの(凸凹してない)状態で、
さらに色を黒じゃなく別の色で表示したいけどやり方がわかないです。

3Dは嫌で、BorderStyleをNoneにしてPaintイベントでちまちまDrawLineとかやってみたけど、
パネルの上にさらにのってるパネルやコントロールのおかげで途中で途切れたりします。

なんかいい方法ないですかね??
0978デフォルトの名無しさんNGNG
>>974
> 縦位置が中央寄せや、下寄せにならず常に上寄せになってしまうのですが、
私の所ではならないんだが。

>>976
SelectionStartプロパティでキャレットの位置は動かせる。

>>977
> パネルの上にさらにのってるパネルやコントロールのおかげで途中で途切れたりします。
極めて真っ当だと思うんだけど……?
途中での意味が今一よくわかんない。
0979デフォルトの名無しさんNGNG
>>978

説明足りなかったす。

パネルやコントロールってののコントロールはとりあえずおいといて、
親パネルの上に貼った子パネルってのは透明の見えないパネル。
その子パネルの上に2つ3つコントロール配置して、親パネルのリサイズとかで子パネルを整列させてます。

なんで、親パネルにはボーダーがあって、その中をボーダーの無い
子パネルが親パネルのサイズによって配置替えしてる状態。

で、子パネルの背景色を透明にしてもみたけど、透明になってない部分があるのか、
部分的にボーダーが途切れちゃう箇所が出てくるわけなんですよ。

まだ解りづらいかな…日本語下手でスマソ
0980976NGNG
>>978
助かりました、ありがとうございます!
0981デフォルトの名無しさんNGNG
>>974
グリフ(文字の形)の下に、英文字のgやyのために日本語文字だけで考えると余分な空白が
付いているのを「上寄せになっている」と勘違いしていたりはしませんか?
0982974NGNG
>>978
いろいろ調べたんですが FlatStyle.System にしてあると
TextAlign が無視されるようです。MSDN によると、

NET Framework Version 1.1 の場合、 FlatStyle プロパティに
FlatStyle.System を設定しても、 TextAlign プロパティの値が
無視されることはありません。

とあるんですが、うちは .NET Framework 1.1 なのですが
FlatStyle を System にすると必ず上寄せになってしまいます。

このあたり、何か御存知の方いらっしゃいませんでしょうか?

アドバイスよろしくお願いします。
0983デフォルトの名無しさんNGNG
>>967
WIN32 APIにそれらしきものがあった。
0984デフォルトの名無しさんNGNG
>>983
なんというAPIでしょうか?
0985デフォルトの名無しさんNGNG
>>984
LoadImageだな。
ただし、/win32iconじゃなくて
.rcファイルをrc.exe(リソースコンパイラ)でコンパイルした.resファイルを/win32resで加えてそっちを参照する。
ちなみに.resは/win32iconも兼ねることができるから。
0986デフォルトの名無しさんNGNG
>>982
.NET 1.1 入れてあるけど、使ってるのは 1.0 って落ち?
例えば VC# 2002 とか。
0987974NGNG
>>986
Visual Studio 2003 で C# なので .NET 1.1 かと思いますが、
.NET 1.1 を使用するには何か明示的な設定が必要でしょうか?

どうやっても FlatStyle.System で TextAlign が有効にならない…。

アドバイスよろしくお願いします。
0988デフォルトの名無しさんNGNG
>>987
1.0で試して分かった事。
SlatStyle.SystemではTextAlignは垂直方向への配置以外は無視される。
1.0ではプロパティが完全に無視され、必ずContentAlignment.TopLeftとして扱われてしまっていたが、
そのバグを1.1で修正したのが>982の文章。
0989974NGNG
>>988
ありがとうございます。私のところでは水平方向の配置は問題なく
行なえるのですが、垂直方向がどうしても上寄せ固定になってしまいます。

これは私の所の環境に問題があるのでしょうか?

みなさんの所では FlatStyle.System で垂直方向、水平方向共に
設定したプロパティが有効になりますか?
0990デフォルトの名無しさんNGNG
>>989
わかりにくかったか。
左右への寄せは1.0では不可能だったがこれはバグだったので1.1で修正された。
上下への寄せは不可能なのが仕様。
ってこと。

AutoSizeを使うなりして適切なサイズを取得して親コントロールのClientSizeとでPositionを決定するとかすれば。
0991974NGNG
>>990
そういう事ですか。Label コントロールを使用して垂直方向への
位置合わせを簡単に行なおうとしたら FlatStyle.System をやめるのが
簡単そうですね。

何か理由があって FlatStyle.System にしている気がするんですが、
どうして .System にしたのか思いだせない。。。

XP Style の関係だったような気もしないでもないですが、ラベルコントロール
で FlatStyle.System にすると、何がかわるんでしょう?

今、あらためて調べてみましたが FlatStyle.System にする事により
ラベルコントロールがどのように変化するのかが見つけられませんでした。

何度もすみませんが、このあたり情報があれば教えて頂けないでしょうか?
0992デフォルトの名無しさんNGNG
初心者です。
#include <stdio.h>
#define K 10
main(void)
{
int score[K];
int i, j;
int temp;
for(i = 1; i <= K ; i++){
printf("a%d = ", i );
scanf("%d", &score[i] );
}
for (i = 1; i <= K ; i++){
for (j = i + 1; j <= K; j++){
if (score[i] > score[j]){
temp = score[i];
score[i] = score[j];
score[j] = temp;
} } }
下から5行目から最後のtempまでの意味はどういうことなのですか?
よろしくおねがいします。
0993デフォルトの名無しさんNGNG
>>992
C#関係ないし…

っつーかC#のコードじゃないじゃん
0994デフォルトの名無しさんNGNG
>>992
スレ違い。ここ行け。
http://pc5.2ch.net/test/read.cgi/tech/1099212476/l50
0995デフォルトの名無しさんNGNG
>>992
それはC#じゃなくてC言語なんだけどな・・・

俗に言うバブルソート(交換方)のプログラム。

int score[K];

で0〜9の10個の配列を作成(#define K 10 の為Kは10と置き換えられる)

そして、最初のforでその配列のそれぞれにscanfを用いて、ユーザに数値を入力させる。
その後、その配列を比べて、小さい順に値を並べ替えている。

ちなみに、このプログラムはバグがある。
配列は0〜9の10個だが、最初のユーザ入力させる部分で、
カウンタが1から始まり、さらに i <= K で10まで処理させるようになっているが、
実際には配列の添え字は9までしかないのでエラーとなる。
0996994NGNG
>>992
ちなみに答えはコレ
http://dictionary.goo.ne.jp/search.php?kind=ej&MT=temporary
0997デフォルトの名無しさんNGNG
誘導
http://pc5.2ch.net/test/read.cgi/tech/1100240847/l50
0998デフォルトの名無しさんNGNG
998
0999デフォルトの名無しさんNGNG
アフォ
↓
1000デフォルトの名無しさんNGNG
↑馬鹿
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。