全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 最新50
C#, C♯, C#相談室 Part40

1デフォルトの名無しさんsage2007/06/16(土) 16:40:51
(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。

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

過去スレは>>2-5あたり。
2デフォルトの名無しさんsage2007/06/16(土) 16:42:42
Part37 http://pc11.2ch.net/test/read.cgi/tech//
Part37 http://pc11.2ch.net/test/read.cgi/tech//
Part36 http://pc10.2ch.net/test/read.cgi/tech//
Part35 http://pc8.2ch.net/test/read.cgi/tech//
Part34 http://pc8.2ch.net/test/read.cgi/tech//
Part33 http://pc8.2ch.net/test/read.cgi/tech//
Part32 http://pc8.2ch.net/test/read.cgi/tech//
Part31 http://pc8.2ch.net/test/read.cgi/tech//
Part30 http://pc8.2ch.net/test/read.cgi/tech//
Part29 http://pc8.2ch.net/test/read.cgi/tech//
Part28 http://pc8.2ch.net/test/read.cgi/tech//
Part27 http://pc8.2ch.net/test/read.cgi/tech//
Part26 http://pc8.2ch.net/test/read.cgi/tech//
Part25 http://pc8.2ch.net/test/read.cgi/tech//
Part24 http://pc8.2ch.net/test/read.cgi/tech//
3デフォルトの名無しさんsage2007/06/16(土) 16:43:26
Part23 http://pc8.2ch.net/test/read.cgi/tech//
Part22 http://pc8.2ch.net/test/read.cgi/tech//
Part21 http://pc5.2ch.net/test/read.cgi/tech//
Part20 http://pc5.2ch.net/test/read.cgi/tech//
Part19 http://pc5.2ch.net/test/read.cgi/tech//
Part18 http://pc5.2ch.net/test/read.cgi/tech//
Part17 http://pc5.2ch.net/test/read.cgi/tech//
Part16 http://pc5.2ch.net/test/read.cgi/tech//
Part15 http://pc5.2ch.net/test/read.cgi/tech//
Part14 http://pc5.2ch.net/test/read.cgi/tech//
Part13 http://pc2.2ch.net/test/read.cgi/tech// (ログ行方不明)
Part12 http://pc5.2ch.net/tech/kako/1066/10660/.html
Part11 http://pc5.2ch.net/tech/kako/1061/10612/.html
4デフォルトの名無しさんsage2007/06/16(土) 16:44:07
Part10 http://pc5.2ch.net/tech/kako/1051/10518/.html
Part9 http://pc2.2ch.net/tech/kako/1039/10396/.html
Part8 http://pc3.2ch.net/tech/kako/1032/10324/.html
Part7 http://pc3.2ch.net/tech/kako/1027/10275/.html
Part6 http://pc3.2ch.net/tech/kako/1022/10222/.html
Part5 http://pc3.2ch.net/tech/kako/1019/10195/.html
Part4 http://pc.2ch.net/tech/kako/1016/10165/.html
Part3 http://pc.2ch.net/tech/kako/1009/10094/.html
Part2 http://pc.2ch.net/tech/kako/1002/10024/.html
Part1 http://pc.2ch.net/tech/kako/977/977112364.html
5デフォルトの名無しさんsage2007/06/16(土) 16:44:49
Visual C# 2005 Express Edition 日本語版
http://www.microsoft.com/japan/msdn/vstudio/express/vcsharp/
ふらっとC♯, C#(初心者用) Part16
http://pc11.2ch.net/test/read.cgi/tech//

MSDNライブラリ
http://msdn.microsoft.com/library/ja/

MSDN2
http://msdn2.microsoft.com/ja-jp/library/default.aspx

pinvoke.net: the interop wiki!
http://pinvoke.net/
6デフォルトの名無しさんsage2007/06/16(土) 16:46:14
Visual C# Express Edition (無料)ダウンロード
http://www.microsoft.com/japan/msdn/vstudio/express/vcsharp/

.NET Framework SDK (2.0)
http://msdn2.microsoft.com/ja-jp/library/ms310244.aspx

MSDN Visual C# Express Edition フォーラム
http://forums.microsoft.com/msdn-ja/ShowForum.aspx?ForumID=187&SiteID=7
Visual Studio ユーザーグループ
http://vsug.jp/

@IT Insider.NET
http://www.atmarkit.co.jp/fdotnet/index.html
Insider.NET 会議室 ディレクトリ
http://www.atmarkit.co.jp/fdotnet/index/bbs/index.html

宇宙仮面の C# プログラミング / C# Programming
http://ukamen.hp.infoseek.co.jp/
WisdomSoft C#入門
http://wisdom.sakura.ne.jp/programming/cs/index.html
WisdomSoft Microsoft .NET入門
http://black.sakura.ne.jp/‾third/system/msnet/msnet.html
どっとねっとふぁん
http://dotnetfan.org/
緑のバイク 初めてのC# 〜 覚え書き 〜
http://homepage3.nifty.com/midori_no_bike/CS/
どぼん!の .NET Tips
http://dobon.net/vb/dotnet/
7デフォルトの名無しさんsage2007/06/16(土) 16:57:04
一個あるんだから立てんなよ・・・
8デフォルトの名無しさんsage2007/06/16(土) 16:58:35
Borland C#Builder2006
http://www.borland.com/jp/products/csharpbuilder/index.html

Turbo C#
http://www.turboexplorer.com/csharp

.NET Framework 1.1 製品ドキュメント
http://www.microsoft.com/japan/msdn/library/ja/netstart/html/sdkstart.asp

MSDN ライブラリ 2006 年 12 月版
http://www.microsoft.com/downloads/details.aspx?FamilyID=94596af5-cc58-45af-a14b-df627a31e783&DisplayLang=ja
9デフォルトの名無しさんsage2007/06/16(土) 17:06:39
>>1
そんなに俺のことが嫌いなのかよ? このフナムシ!
10デフォルトの名無しさんsage2007/06/16(土) 17:09:01
きもい粘着のことは忘れて
新たな気持ちで参りましょう
11デフォルトの名無しさんsage2007/06/16(土) 19:11:59

正規表現で置換する以外に、文字列内に含まれる変数名を展開する便利関数てないですか?

string str = "あいうえおabcけこ";
abc = "かきく";
12デフォルトの名無しさんsage2007/06/16(土) 19:15:30
変数じゃなくて Dictionary / Hashtable 使えよ
ループまわして String.Replace 使ってけばいいだろ
13デフォルトの名無しさんsage2007/06/16(土) 19:43:43
>>11
変数名はどうやって取得するんだ?
きめうちか?
14デフォルトの名無しさんsage2007/06/16(土) 19:53:31
フィールドだったら(this.GetType().GetFields())[0].Nameで取得できるよ
15デフォルトの名無しさんsage2007/06/16(土) 19:58:24
初心者に無駄なアドバイス。
変数名を使ったプログラムは書かないほうがいい。
16デフォルトの名無しさんsage2007/06/16(土) 20:10:49
変数名を使ったプログラムは書かないほうがいい。

変数名はメタ次元のものであり、それを使ってテキストと比べるのは良くない。
アルゴリズムとデータ構造がOOPと別の意味で混じってしまう。
変数のコンパイル後の内部表現とテキストが必ず同じかどうかもわからないような気もするし。

また他の言語では使えない場合が多い。
17デフォルトの名無しさんsage2007/06/16(土) 20:14:49
public static string 便利関数(string str, Type type, object instance){
FieldInfo[] fields = type.GetFields(
BindingFlags.Public|BindingFlags.NonPublic|BindingFlags.Static|BindingFlags.Instance);
foreach (FieldInfo field in fields){
string name = field.Name;
if (str.Contains(name)){str = str.Replace(name, field.GetValue(instance).ToString());}
}
return str;
}

static string abc = "かきく", def = "さしすせそ";
public static void Main(){
string str = "あいうえおabcけこdef";
Console.WriteLine(便利関数(str, typeof(このクラスの名前), null));}
調子に乗ってやってしまった
絶対使うなよw
18デフォルトの名無しさんsage2007/06/16(土) 20:25:17
>>11
文字列に意図しないstrが入っていたら...
1911sage2007/06/16(土) 23:02:40
あんまそういう事はしない方がいいんですかね。
perlでいうevalみたいなチョロで出来てしまうのがあればなぁと思ったんだけど。

message = "あなたの年齢はage才です。";
みたいな定型分を用意して、age部分だけ変化するみたいな。
自分でしかこの定型文の場所はいじらないから他の変数名が入るという事はないんだけど。
message1, message2みたいにしてくっつければいいだけだけど、1個にしたかったので。

20デフォルトの名無しさんsage2007/06/16(土) 23:05:54
String.Format 使うし。
21デフォルトの名無しさんsage2007/06/17(日) 00:12:32
同意

エロゲでもつくるのか?
22デフォルトの名無しさんsage2007/06/17(日) 00:39:05
どうしても名前付けたいなら別だが、
そうでないなら>>20みたいにFormat使うのが無難。
23デフォルトの名無しさんsage2007/06/17(日) 00:56:56
エロゲか。
文字列リソースが大変そうだな〜
24デフォルトの名無しさんsage2007/06/17(日) 01:06:50
>>19
message = "あなたの年齢は%age%才です。";

やるんならうっかり固定テキストと被らないように↑みたいなことしてループで置換しまくれ、このフナムシ!
25デフォルトの名無しさんsage2007/06/17(日) 02:06:53
多用するならミニ言語っぽく仕様決めてメタな実装するのもいいんじゃね
すぐ忘れてしまうようなら濫用しないほうがいいとおもうけど
26デフォルトの名無しさんsage2007/06/17(日) 02:16:22
下のようにstring[]に入っているASCIIコードを、
string[] strArr = { "4e", "4f", "50", "51" };

string [] の配列 "N", "O", "P", "Q" に変換するには
どうしたらよいのでしょうか?


27デフォルトの名無しさんsage2007/06/17(日) 02:30:07
string[] result = new string[strArr.length];
for (int i = 0; i < strArr.length; ++i){
 result[i] = Convert.ToChar(byte.Parse(strArr[i], NumberStyles.HexNumber)).ToString();
}
28デフォルトの名無しさんsage2007/06/17(日) 02:43:18
できました
夜遅くにありがとう
29デフォルトの名無しさんsage2007/06/17(日) 02:46:13
string[] result = Array.ConvertAll(strArr, delegate(string hex) { byte.Parse(strArr[i], NumberStyles.HexNumber)).ToString(); });
30デフォルトの名無しさんsage2007/06/17(日) 02:47:54
間違い
string[] result = Array.ConvertAll(strArr, delegate(string hex) { Convert.ToChar(byte.Parse(hex, NumberStyles.HexNumber)).ToString(); });
31デフォルトの名無しさんsage2007/06/17(日) 13:04:30
DataGridViewのDataSourceにに自作クラスのコレクションを設定したときに、
ソートできないのですが、どうすればソートできるようになるでしょうか?
よろしくお願いします。
32デフォルトの名無しさんsage2007/06/17(日) 13:15:06
IComparableは実装済み?
33デフォルトの名無しさんsage2007/06/17(日) 13:18:07
IComparerか
34デフォルトの名無しさんsage2007/06/17(日) 14:25:26
データソースのコレクションはListで、自作クラスはIComparableを実装しています。
DataGridViewの方はBindingSource以外は何もいじっていません。
35デフォルトの名無しさんsage2007/06/17(日) 15:35:25
絡むヘッダクリックイベントで自分でSort()
36デフォルトの名無しさんsage2007/06/17(日) 21:21:33
enum にインターフェイスってかぶせられないんですかね?

SomeClass.Set(int value);
というメソッドがあって、enum で渡したいのですが、
複数の種類の enum を渡したいと考えています。

SomeClass.Set((int)SomeEnum.One);
とすることはできるのですが、いちいちキャストするのがあまりスマートではないので、
もっと良い方法はないでしょうか?
37デフォルトの名無しさんsage2007/06/17(日) 21:23:45
他のenumを包含したenumを作れば?
38デフォルトの名無しさんsage2007/06/17(日) 21:40:58
オーバーロード汁
39デフォルトの名無しさんsage2007/06/17(日) 21:59:23
それいうならスーパーロードでは?
40デフォルトの名無しさんsage2007/06/17(日) 22:00:27
>>38
横からすまそ、enum のオーバーロードってどうやるの?
41デフォルトの名無しさんsage2007/06/17(日) 22:03:04
SomeClass.Set(PastelColor value);
SomeClass.Set(PrimaryColor value);
SomeClass.Set(LightColor value);
みたいなことを言ってるんだろたぶん
42デフォルトの名無しさんsage2007/06/17(日) 22:04:01
>>41
あー、それじゃ、enum が増えたときに対応できないね。
43デフォルトの名無しさんsage2007/06/17(日) 22:05:16
>>37
包含したenumとは?
44デフォルトの名無しさんsage2007/06/17(日) 22:05:28
>>42
enumにそれを求めるのは間違いだろ
OOP的にやれよ
45デフォルトの名無しさんsage2007/06/17(日) 22:12:12
enumが増えるって何か設計がおかしいような気がするんだが
46デフォルトの名無しさんsage2007/06/17(日) 22:13:19
普通にクラスにしろよって話だわな
47デフォルトの名無しさんsage2007/06/17(日) 22:19:08
どんなことがしたくてそういう設計になったのか気になるのだが。
単に興味があるだけなんで別に答えなくてもいいけど。
48デフォルトの名無しさんsage2007/06/17(日) 23:34:39
初心者はこちらへ

ふらっとC♯, C#(初心者用) Part16
http://pc11.2ch.net/test/read.cgi/tech//
49デフォルトの名無しさんsage2007/06/18(月) 10:58:58
Generic型の定数をstaitcで宣言したいのですが、タイプ初期化子例外
がでます。解決法を教授いただけないでしょうか?
public class TestClass
{
public T Value;
public static TestClass ConstValue = new TestClass();
}
static Main()
{
TestClass test = TestClass.ConstValue;
}
}
50デフォルトの名無しさんsage2007/06/18(月) 11:12:58
>>49
コンパイルも通るし動いてるけど
51デフォルトの名無しさんsage2007/06/18(月) 21:30:23
全くどうでもいいが、Const を名乗るなら ReadOnly くらい付けようぜ。
52デフォルトの名無しさんsage2007/06/18(月) 21:32:34
あ、readonly だ
53デフォルトの名無しさん2007/06/19(火) 02:15:41
すいません、教えてください。
xmlからxsdと通してDataGridViewにデータを表示し編集したりしようとしてるんですが
CheckBoxにチェックしたら、xmlではTrueになりTextBox内容はそのまま残るまではわかります。
ただ、Buttonの項目だけ、xmlに情報として残りません。
実際したいことは、ButtonでColorDialogを表示し、Buttonセル自体をそのColorDialog
で設定した色で色づけして、その後TextBoxから読み込んだ文字列を他の処理にあてるとき
その色を使うため、色見本として表示させてるんですが、xmlにそのButtonに関する情報が
記録されないため、閉じて、再度開いたら、色が元通りの白になります。
xmlにそんな情報まで残せないのでしょうか。
すいませんが、対処法を教えてください。
54デフォルトの名無しさんsage2007/06/19(火) 02:37:37
これは試練なのだろう。
これが理解できたらおれはあの娘に結婚申し込む
55デフォルトの名無しさん2007/06/19(火) 06:33:18
Console を noecho モードにする方法ってありませんか?
ちなみにできれば 1.1 で。 2+ なら ReadKey 使えそうなんですが。
56デフォルトの名無しさんsage2007/06/19(火) 06:47:13
ReadConsoleInput
57デフォルトの名無しさんsage2007/06/19(火) 23:02:58
>>53
無理じゃないか?

xmlにはデータセットを通してデータが保存されている。

データは常識的には、
チェックボックスにはチェックの状態、
テキストボックスにはテキストとなるだろう。

ではボタンのデータって何だ?
58デフォルトの名無しさんsage2007/06/19(火) 23:08:49
DataColumn column = new DataColumn("Button", typeof(Button));
59デフォルトの名無しさんsage2007/06/20(水) 09:28:25
BackgroundWorkerについて相談です。
以前作ったFileEnum(仮名)というクラスがあって、EnumDir(path, pattern)という
メソッドを呼ぶと、ディレクトリを再帰走査して、ディレクトリ一個ずつ
FindDirイベントが発生する、というものです。
Abort()メソッドも付けてあって、従来のスレッド処理やDoEvents()を使った方法で
中止させることができます。

こいつをBackgroundWorkerで処理させようと思い、とりあえずキャンセルボタンを
増設してBackgroundWorker.CancelAsync()を呼ぶようにしました。
資料を読むと、キャンセルさせたいときには
DoWork イベント内でCancellationPendingプロパティを監視してDoWorkEventArgs.Cancel
を設定しろ、ということらしいです。

しかし上記のクラスだとDoWork内で呼び出したFileEnum.EnumDir()メソッドが、
いったんこちらにお返しするのが別のイベントになってるので、
DoWorkEventArgsを参照できないので困っています。
DoWorkEventArgsは無視して、FindDirイベントの中でCancellationPending=trueなら
FileEnum.Abort()しとけばいいんでしょうか?
それはよくないという場合、たとえば
DoWorkEventArgsを呼び出しフォームのフィールドに代入してFindDirイベントで参照
するとか考えたんですが、
ほかにうまい方法があったら教えてください。
ながくてすまん。
60デフォルトの名無しさんsage2007/06/20(水) 12:33:52
>>59
なんかそもそもスレッドの意味が分かってなさそう。。
真面目に勉強するのが結局一番早道だと思うよ。
少なくともスレッドの意味も知らずにスレッド使うのは無理無駄ムラ。
61デフォルトの名無しさんsage2007/06/20(水) 13:36:28
前スレをBackgroundWorkerで検索
62デフォルトの名無しさんsage2007/06/20(水) 13:37:53
職場に、スレッド使うと処理が早くなるって勘違いしていたババアエンジニアが居たな。
今も目の前でプログラムくんでるけど。
63デフォルトの名無しさんsage2007/06/20(水) 14:42:00
そんなんケースバイケース
64デフォルトの名無しさんsage2007/06/20(水) 20:04:43
ケースバイケースばい
65デフォルトの名無しさんsage2007/06/20(水) 20:58:17
>ババアエンジニア

kwsk
66デフォルトの名無しさんsage2007/06/20(水) 21:00:22
変なところに食いつくなよw
67黒い風 ◆ZL/4ZL7WZU 神速黒い風様が500ゲットォーーー!!!!2007/06/20(水) 21:05:04
神速黒い風様が500ゲットォーーー!!!!
68デフォルトの名無しさんsage2007/06/20(水) 21:07:11
おしい
69デフォルトの名無しさんsage2007/06/20(水) 21:25:58
マルチコアでもマルチプロセッサでもスレッドはほとんど恩恵をうけれないんだよな?
70デフォルトの名無しさんsage2007/06/20(水) 21:30:55
ネットやディスクなどのアクセスが絡んでくると待機時間がもったいない
71デフォルトの名無しさんsage2007/06/20(水) 21:33:24
一見正論だが、大抵の場合その待機時間が必要時間全体のほぼすべてである。
72デフォルトの名無しさんsage2007/06/21(木) 00:44:04
最近はマルチコアCPUなので高速化の為にスレッド分けることがあるって聞いたけど嘘ですかそうですか
73デフォルトの名無しさんsage2007/06/21(木) 00:49:16
スレッドは同一プロセスで、プロセスは普通CPUまたいで動作しない。
74デフォルトの名無しさんsage2007/06/21(木) 00:50:03
環境依存だろ
75デフォルトの名無しさんsage2007/06/21(木) 00:50:40
>>73
いつの時代の話ですか
76デフォルトの名無しさんsage2007/06/21(木) 01:03:03
試したの?
テストした人教えて。
77デフォルトの名無しさんsage2007/06/21(木) 01:11:52
C# でどうなのかは知らんが、
マルチコアでマルチスレッドにして高速化なんてのは
並列計算業界では常識的に行われている事。
78デフォルトの名無しさんsage2007/06/21(木) 01:12:16
口ばっかで試す奴なんかいないだろ
79デフォルトの名無しさんsage2007/06/21(木) 01:13:05
>>77
UNIXとかはね。
80デフォルトの名無しさんsage2007/06/21(木) 01:15:36
え?
81デフォルトの名無しさんsage2007/06/21(木) 01:21:40
高速化、とかそんな漠然といわれても。
82デフォルトの名無しさんsage2007/06/21(木) 02:08:14

string my_url = "http://www.yahoo.co.jp";
HttpWebRequest req = WebRequest.Create(my_url) as HttpWebRequest;
HttpWebResponse res = null;
try
{
res = req.GetResponse() as HttpWebResponse;
}
catch
{
textBox1.Text = "指定した Web ページが応答していません!";
return;
}
StreamReader reader = new StreamReader(res.GetResponseStream(),
Encoding.GetEncoding("EUC-JP"));
textBox1.Text = reader.ReadToEnd();

System.Xml.XmlDataDocument doc= new System.Xml.XmlDataDocument();
String xml = textBox1.Text;
doc.LoadXml(xml);

yahooのウェブページをXMLDocumentにしたいのですが、LoadXmlのところで

6 行目にある開始タグ 'meta' と、終了タグ 'head' とは対応していません。 行 306、位置 3 です。

というエラーになり止ってしまいます。
metaとheadに対応していないということでしょうか。
解決策はありますでしょうか?
83デフォルトの名無しさんsage2007/06/21(木) 02:16:09
XHTMLではなくHTMLのページをXMLとしては読み込めませんよ
どうしても読み込ませたいなら、自力でXHTMLに変換してから読み込ませてくださいw
84デフォルトの名無しさんsage2007/06/21(木) 02:21:54
>>83
あり。
ではウェブページの構造解析をするのは
自力でやるかWebBrowser経由でやるかどっちかなんですね・・
85デフォルトの名無しさんsage2007/06/21(木) 05:28:30
DOM 使うだけなら Microsoft.mshtml.dll 使えんこともないが。
86デフォルトの名無しさんsage2007/06/21(木) 10:10:21
DataTableの列を入れ替える方法ってある?

Accessのクロスクエリみたいな処理作ってるんだけど、データ発生順に列を生成してるから列が発生順になるんだ
教えてエロい人
87デフォルトの名無しさんsage2007/06/21(木) 10:57:05
DataTableにこだわるならDataColumnCollectionからカラム削除してまた追加
データを表示する時に希望の並び順でさえあればいいならDataGridView.DisplayIndex
88デフォルトの名無しさんsage2007/06/21(木) 11:11:06
たんいつCPUならマイクロスレッドにしとけ。
マルチコアなどならスレッドわけも利点があろうもん。
89デフォルトの名無しさんsage2007/06/21(木) 11:23:01
>87
thx
最終的にFlexGridとかいうグリッドコントロールのDataSourceにぶっ込むたかったので
グリッドにぶっ込んだ後で整形すればいいだけか
90デフォルトの名無しさん2007/06/21(木) 13:08:13
質問です。下記のようなコードを作り、SQLで店舗を検索、検索に
引っかからなかったときはif(listbox.Items.Count == 0)としています。
このとき、また新たに検索して店舗がリストボックスに表示されるときに
店舗名ではなく、System.Data.DataRowViewと表示されてしまいます。
検索に引っかからなかったときだけ上記のように表示されてしまい困ってます。
DisplayMemberなどを追加してあげても駄目なんです。
どうすればいいでしょうか?

        OleDbDataAdapter oleda;
    DataSet dataSet11 = new DataSet("SHOP_MST");
    oleda = new OleDbDataAdapter("SELECT〜(略);
    oleda.Fill(dataSet11,"SHOP_MST");

    listbox.DataSource = dataSet11.Tables["SHOP_MST"];
    listbox.DisplayMember = "SHOP_JP_NAME";
    listbox.SelectedValue = "SHOP_JP_NAME";
  

if(listbox.Items.Count == 0)
 {
          MessageBox.Show("店舗が見つかりませんでした。");
          MessageBox.Show("日付はyyyy/MM/dd形式で入力してください。");
          return;
 
91902007/06/21(木) 13:14:35
はう・・・見づらくてすみません・・・・orz
92デフォルトの名無しさんsage2007/06/21(木) 13:35:05
>90
ItemsじゃなくてRowsじゃね?
93902007/06/21(木) 13:48:05
Rowsがないです・・・
9492sage2007/06/21(木) 13:52:38
ちょっと勘違いしてたけど

oleda.Fill(dataSet11,"SHOP_MST");
の後に
if(dataSet11.Tables["SHOP_MST"].Rows.Count == 0)
が良いんじゃまいかとオモタ
95902007/06/21(木) 13:57:53
dataSet11は競合されていますって出てしまいまする・・・
9692sage2007/06/21(木) 14:39:56
エラーはわからんけどTable追加してないのが問題かな?

OleDbDataAdapter oleda;
DataSet dataSet11 = new DataSet("HOGE");
dataSet11.Tables.Add("SHOP_MST");
oleda = new OleDbDataAdapter("SELECT〜(略");
oleda.Fill(dataSet11,"SHOP_MST");
MessageBox.Show(dataSet11.Tables["SHOP_MST"].Rows.Count.ToString());
97902007/06/21(木) 16:06:34
追加してみましたが、駄目です・・・原因不明だ・・・・
98デフォルトの名無しさんsage2007/06/21(木) 16:08:23
こっちで同じようなコード書いてみたけど再現しないな
データの取得自体は上手くいってるの?
99902007/06/21(木) 16:13:42
取得自体はうまくいっています。ただ、表示だけがSystem〜っとなってしまいます。
10092sage2007/06/21(木) 16:13:59
問題なければその処理全体をここに貼り付けr
101デフォルトの名無しさんsage2007/06/21(木) 16:27:27
その表示はtoString() なんだろうし、どこか勘違いしてるだけぽいが
10290sage2007/06/21(木) 16:34:53
Tostringにしても変わらず・・・でした
103デフォルトの名無しさんsage2007/06/21(木) 16:37:13
いや、そうじゃなくてね……
10492sage2007/06/21(木) 16:37:47
System.Data.DataRowViewになる原因は分かってる
データ取得できる状態にしてDisplayMemberの行をコメントにしてみればなんとなく分かる

DataTableが0行でもListBoxには型名が貼り付けられるからItemsの数をかぞえちゃだめなんだよ

Rows.Countが通らない理由はシラネ
10590sage2007/06/21(木) 16:37:48
System.Data,DataRowViewとなっているのを
MessageBox.Show(listBox.Text)で表示させてみると
そっちはきちんと店名が表示されてます・・・
10692sage2007/06/21(木) 16:54:01
まぁソース全体見ないとなんとも言えない
10790sage2007/06/21(木) 16:54:29
今試してみたところ
if(listbox.Items.Count == 0)を無くしてみたのですが
検索が0件だった場合=表示がおかしくなってしまうみたいです。
10890sage2007/06/21(木) 17:04:43
private void buttom1_Click(object sender, System.EventArgs e)
{
try
{
if(DateTime.Parse(textBox1.Text) > DateTime.Parse(textBox2.Text))
{
MessageBox.Show("日付を正しく入力してください。");
return;
}
else
{
OleDbDataAdapter oleda;
DataSet dataSet11 = new DataSet("SHOP_MST");
oleda = new OleDbDataAdapter("SELECT〜);
oleda.Fill(dataSet11,"SHOP_MST");

listbox.DataSource = dataSet11.Tables["SHOP_MST"];
listbox.DisplayMember = "SHOP_JP_NAME";
listbox.SelectedValue = "SHOP_JP_NAME";
}

if(listbox.Items.Count == 0)
{
MessageBox.Show("店舗が見つかりませんでした。");
}
}
catch
{
MessageBox.Show("日付を正しく入力してください");
}
}
10990sage2007/06/21(木) 17:06:00
上記がソース全体です。
110デフォルトの名無しさんsage2007/06/21(木) 17:09:34
そういうことにListBox(というかコントロール)を使うな
111デフォルトの名無しさんsage2007/06/21(木) 17:24:55
listbox.SelectedValueはただのタイプミスだよな?
mdb相手に全く同じコード使っても再現できず
("SELECT〜);と略した部分にでも問題があるんでね?
112デフォルトの名無しさんsage2007/06/21(木) 17:28:29
>>108

前に質問してた方ですねw
ふらっとに移らなかったの?
11392sage2007/06/21(木) 17:31:03
いろいろ問題を残したままとりあえずうちの環境では動いた(DB関係は別として)
これでだめならSQL見直さないとだめだな

書き込もうとしたら改行多いって言われたのでインデントは変だけどキニシナイ

private void buttom1_Click(object sender, System.EventArgs e)
{ try {
if(DateTime.Parse(textBox1.Text) > DateTime.Parse(textBox2.Text))
{ MessageBox.Show("日付を正しく入力してください。");
return;
} else
{
OleDbDataAdapter oleda;
DataSet dataSet11 = new DataSet("HOGE");
dataSet11.Tables.Add("SHOP_MST");
oleda = new OleDbDataAdapter("SELECT");
oleda.Fill(dataSet11.Tables["SHOP_MST"]);
if (dataSet11.Tables["SHOP_MST"].Rows.Count == 0)
{ MessageBox.Show("データ無い");
return;
} listBox1.DataSource = dataSet11.Tables["SHOP_MST"];
listBox1.DisplayMember = "SHOP_JP_NAME";
}
}
catch
{ MessageBox.Show("日付を正しく入力してください");
}
}
11490sage2007/06/21(木) 17:31:18
ふらっととどちらに書き込むか迷いましたけど、こっちに来てみました。
115デフォルトの名無しさんsage2007/06/21(木) 17:35:51
前スレの715か
じゃあ相手にするだけ無駄だったな
11690sage2007/06/21(木) 17:37:27
>>92
ありがとうございます、無事動きました!

いろいろご迷惑をおかけしましたがこれにて失礼させていただきます!
117デフォルトの名無しさんsage2007/06/21(木) 17:40:04
にしても SelectedValue は変じゃない???
118デフォルトの名無しさんsage2007/06/21(木) 17:46:21
取り敢えず Parseの例外を拾ってないのはわかった。
11992sage2007/06/21(木) 17:47:26
前スレ見てみたけど結果を示さないほうが良かった気もするな・・・
何が問題なのか理解しないみたいだし・・・

>117
SelectedValueは消してみた
120111sage2007/06/21(木) 17:51:39
そもそも何が問題だったんだ?
俺の環境じゃあのコードでも動いたよ
(ValueMemberに直しとSQL文作成と接続文字列は自前のだけど)
前スレじゃDataGrid使いたいと書いてたから.NET1.1の問題なんだろうか
121デフォルトの名無しさんsage2007/06/21(木) 18:01:26
プログラムで詰まるたびにに質問してきそうだなあ。
俺たちはお前の友達でもお兄さんでも先輩でもない。

まあ面白けりゃ何でもありだけど。
122デフォルトの名無しさんsage2007/06/21(木) 23:19:37
>>60
やっぱり使い方自体変ですよね?
このスタイルでVB6時代からたまってるコード資産があるもんで、
おとなしくDoEventsでキャンセルを受け付ける方向でいきます。
新しいクラスやモデルはそれにあったコードで生かせということですね。
123デフォルトの名無しさんsage2007/06/21(木) 23:23:22
つかわざわざイベントで通知するもんでもないだろ、と思った。
コールバック渡すか IEnumerable でも返せばいいじゃん、と。
124デフォルトの名無しさんsage2007/06/22(金) 11:54:00
>>123
たとえばSQL-DMOなんか、進捗をイベントで返すんですよ。
で、その手法をパクッてたんです・・・
125デフォルトの名無しさんsage2007/06/22(金) 12:41:16
というか、イベントというのはコールバックを渡す行為そのものじゃないかと(w
126デフォルトの名無しさんsage2007/06/22(金) 12:51:07
hogeクラスが複数のfugaクラスを持つときってどう表現するべき?

今は、
public class hoge
{
  public fuga[] f1;
}

ってやってるんだけどf1配列から項目削除する方法で悩んでたり
こういう場合はArrayListにしたほうが良いのかね?
127デフォルトの名無しさんsage2007/06/22(金) 13:10:15
List だな。
128デフォルトの名無しさんsage2007/06/22(金) 13:32:28
>127
これは知らんかった

こないだリリースしたプログラム直したくなってきた・・・orz
129デフォルトの名無しさんsage2007/06/22(金) 13:39:18
Generics知らないってどれだけもぐりだ。
130デフォルトの名無しさんsage2007/06/22(金) 13:43:10
それは『新薬の特許が切れてから同じ成分・同じ効果で作られる薬のこと』
ですか?
131デフォルトの名無しさんsage2007/06/22(金) 13:47:49
まあそうやって覚えていくのさー
132デフォルトの名無しさんsage2007/06/22(金) 13:48:19
サーセン、VB坊(VB6.0とかVBA)だったもんでw

ってどっちにしろVS2003じゃ使えなかったのか
今やってる作業からVS2005だったから丁度良いタイミングで知れたのかな
133デフォルトの名無しさん2007/06/22(金) 15:57:59
>>128
>これは知らんかった

新機能の一覧に位目を通せよ・・・・
目玉機能の一つだったと記憶しているが・・・
134デフォルトの名無しさんsage2007/06/22(金) 16:31:23
ああ、次は匿名メソッドだ
135デフォルトの名無しさんsage2007/06/22(金) 17:01:59
delegate { System.Console.Write("anonymous method¥n"); return; }
136デフォルトの名無しさんsage2007/06/22(金) 17:04:26
yieldを忘れないでやってください
137デフォルトの名無しさんsage2007/06/22(金) 17:36:50
そんなこといやるど。
138デフォルトの名無しさんsage2007/06/22(金) 17:38:26
while(true) yield return "僕を忘れないで";
139デフォルトの名無しさんsage2007/06/22(金) 17:47:49
yield使ったことないわ
140デフォルトの名無しさんsage2007/06/22(金) 17:51:46
grepしたら一箇所だけ使ってた。
141デフォルトの名無しさんsage2007/06/22(金) 17:56:09
ちゃんとした言語としては、ジェネリックとは比較にならない革新的新機能だぞ
142デフォルトの名無しさん2007/06/22(金) 18:33:05
実は匿名メソッドを使うポイントがよくわからん
143デフォルトの名無しさん2007/06/22(金) 18:35:26
実行時にメソッド変更できる
144デフォルトの名無しさん2007/06/22(金) 18:37:07
という馬具の温床
145デフォルトの名無しさんsage2007/06/22(金) 18:43:50
多態性を完全否定した
146デフォルトの名無しさんsage2007/06/22(金) 18:44:00
コールバックかくのに妙なメンバ関数を増やさなくて済むようになる。
147デフォルトの名無しさん2007/06/22(金) 18:47:44
イチイチクラスメソッドをオーバーライドしないでも書き換えれてしまう でOK?
148デフォルトの名無しさんsage2007/06/22(金) 18:47:49
わざわざメソッドを書くんだったら
内部クラスでインターフェイスを実装するのとそんなに変わらん
149デフォルトの名無しさん2007/06/22(金) 20:29:54
チーム内で、C#のツールを作ってもらっています。

その開発環境のOSは、Windows Vistaなのですが、実行ファイルをもらう時に、
いったん、WindowsXPで、再コンパイルしているので、何故か?と聞いたところ、
Vistaの環境コンパイルしたものは、WindowsXPで動かない、という話を聞きました。

こういったことはあるのでしょうか?

情報や、解決策等のwebページを見つけられませんでした。
どこかにありますでしょうか?
150デフォルトの名無しさん2007/06/22(金) 20:31:48
>>141
確かに。
イテレータが、yieldで書けるなんて、スクリプト言語かとおもたよ。

Delphiなんて、yieldないから、イテレータ書くの四苦八苦ですぜ。

151デフォルトの名無しさんsage2007/06/22(金) 20:49:42
>>149
ありえない。




はず。
152デフォルトの名無しさんsage2007/06/22(金) 20:58:17
イェールド

でいいの?
153デフォルトの名無しさんsage2007/06/22(金) 21:04:48
いーるど
154デフォルトの名無しさんsage2007/06/22(金) 21:05:19
>>153
ども。
155デフォルトの名無しさんsage2007/06/22(金) 21:15:34
どうせなら
public void DoAction(){
処理1();
yield return;
処理2();
yield return;
}
とかできるようにしてしまえばよかったのに
156デフォルトの名無しさんsage2007/06/22(金) 21:17:42
.NET Framework 3.0を使うとVistaとXPで変わるのかな?
入れてないから知らないけど
157デフォルトの名無しさん2007/06/22(金) 21:18:26
>>149
VB6とかならありそうだけど
フレームワークさえあればどの環境でも動くのがうりなはずなんだが・・・

一応ウチの収めてるのは動いてるっぽいけど
158デフォルトの名無しさんsage2007/06/22(金) 22:04:55
Vistaがx64用の場合ターゲットCPUをx64にしなければいけないと
思い込んでる人にはあったことがあるな。
よほどのことが無ければAnyCPUでOKなのだが。
159デフォルトの名無しさんsage2007/06/22(金) 22:14:44
>>149
.NET FRAMWORKのバージョンの互換性を気にしてるんじゃないの?
基本バージョン間の互換性はあると思っていいみたいだけど、
ものによってはってこともあるみたいだし。

両方3.0入れてるんなら関係ないんじゃないかと。
(OSの違いの話しは聞いた事無い。.NET FRAMWORKの違いね)
.NET CLR アセンブリあたりでぐぐってみるか
↓あたりを参考にするかかな まあ、ややこしいはなしだわね
http://www.atmarkit.co.jp/fdotnet/technology/idnfw11_index/index.html
http://www.atmarkit.co.jp/fdotnet/technology/idnfw11_05/idnfw11_05_02.html

本では プログラミングMicrosoft .NET Framework あたりとかかな
160デフォルトの名無しさんsage2007/06/22(金) 22:46:51
> .NET FRAMWORKの違いね
161デフォルトの名無しさんsage2007/06/22(金) 23:12:11
>>160
そんな下らんことでいちいちつっかかるな! このフナムシ!
162デフォルトの名無しさんsage2007/06/22(金) 23:26:45
全部大文字って珍しいな
163デフォルトの名無しさんsage2007/06/23(土) 01:33:44
CLRのバージョンは同じなわけだが。
164デフォルトの名無しさんsage2007/06/23(土) 09:18:56
もう全員ふらっといけよ
165デフォルトの名無しさんsage2007/06/23(土) 09:56:51
3.0って2.0+αだろ
置き換えや削除は一切無いんじゃなかったか
166デフォルトの名無しさんsage2007/06/23(土) 09:57:04
そそそれが・・・
1671492007/06/23(土) 12:31:05
そうですよねえ。
.NET Framework使う限りはありえないと思うのですが・・・

>http://www.atmarkit.co.jp/fdotnet/technology/idnfw11_index/index.html
>http://www.atmarkit.co.jp/fdotnet/technology/idnfw11_05/idnfw11_05_02.html
1681492007/06/23(土) 12:33:07
途中送信してしまいました

>http://www.atmarkit.co.jp/fdotnet/technology/idnfw11_index/index.html
>http://www.atmarkit.co.jp/fdotnet/technology/idnfw11_05/idnfw11_05_02.html
複雑な話ですね。
C#やってなくても、頭が痛くなります・・・


とりあえず、.NET Framworkのバージョンを調べてみたいと思います。
Vistaで、3.0で開発してて、XP 2.0しか入ってないなんて、こともあるんだろうか。
3.0の機能なんて使ってないはずなのになあ・・・
169デフォルトの名無しさんsage2007/06/23(土) 14:28:20
Write once, compile once, runs once.
170デフォルトの名無しさんsage2007/06/23(土) 15:10:19
manko once
171デフォルトの名無しさんsage2007/06/23(土) 15:12:23
そのおっさんが言ってるだけだろ。
無能なやつはどこにでもいる
172デフォルトの名無しさんsage2007/06/23(土) 16:50:54
1.1→2.0と違って3.0は2.0を完全に物理的に含んでるから気にしなくていいはず
173デフォルトの名無しさん2007/06/23(土) 17:00:36
Environment.Versionが示すCLRのバージョンはVer.2.0.50727.42のまま代わらず。
.NET 3.0で動いてるとか、WPFやWCFが使えるとかいうのはどうやって判断したらいいのだろう。
174デフォルトの名無しさんsage2007/06/23(土) 17:05:12
アセンブリがロードできるかチェックするとか
175デフォルトの名無しさんsage2007/06/23(土) 17:55:05
               ◤◥◣   ポーション噴いた
http://&rlo;. … ■ ▪ ▬◣〓▀▀■▇▆▅▄▂ ▪ ▂         ▐▂▲〓▀◤◢  ▂  
http://&rlo;・ ▪ ▃∵ ¨▂ ■ ▪ ▀■▅▂.        ▼◣◥     ▼ ▍ 
http://&rlo;▂▄◣◥〓■██■▇▆▅▄▂¨& ▀█▇◢& ◤◢   ◣▐ ▅     ◤◢ ▍▀  
http://&rlo;. ▪ ∴ ◣◥ ▀▀〓■██▇▆▅██▅▂ ■ ▍     ■◢ ▅  ▍    
http://&rlo;◣◥& ■& ▅.… ∴ ▪ ▀███████▇▅▐ ◣▐   ▂   ▐  
http://&rlo;▂▄▃▄▂■ ▪& ▂▃▆████████▇▆▅◥▀  ▂◣▀   
http://&rlo;‥∴ ■ ▪ ▀▀▀■▀▀▀ ¨& ■   ▀▅▄▂▄◣◥   
176デフォルトの名無しさんsage2007/06/23(土) 18:02:09
ttp://www.42ch.net/UploaderSmall/source/.jpg
177デフォルトの名無しさんsage2007/06/23(土) 23:20:07
コピペ君って馬鹿だな、まで読んだ。
178デフォルトの名無しさんsage2007/06/24(日) 16:55:21
ファイル送信中にprogressbarをつかってその進渉率を表したいのですが、
ファイル送信中の情報量を受け取れるメソッドとかがあるのでしょうか?

179デフォルトの名無しさんsage2007/06/24(日) 16:58:37
>>178
マルチは死ね
180デフォルトの名無しさんsage2007/06/24(日) 20:40:30
>>178
前にも書いてあったけど送るときに分割して送って、進捗度を自分で計算して表示。
以上。

あ、書き忘れていた。
馬鹿。
181デフォルトの名無しさんsage2007/06/24(日) 20:45:26
             ▂▃▂
http://&rlo;◣▇██ ██▇◢    
http://  ـ▅▅▅   ◤◢ـ   ◥◣
http://  ـ█●█   ◤◢ـ   ◥◣
http://  ـ█▊ ▀▀▀▊ ▊█■ـ▍
http://  ـ▀▀▀▀▀▀▀▀▀▀■ـ▍
http://ـ▅▅▅▅▅▅▅  ▐▂▂ ـ   ▐▂▂
http://ـ▂▅▅▅▃▃▅ ▐▐ ▍ ـ ▍ ▐ ▐
http://ـ▅▃▃▅▅▅▂ ▐▐ ▍ ـ ▍ ▐ ▐
http://ـ▅▅    ▃ ▐▂▐ ـ▐    ▐▂▌
http://ـ██  ▍ ▍ ▐ ▐ ـ▐  ▍ ▐ ▌
http://ـ▀▀  ▍ ▍ ▐ ▐ ـ  ▂▍ ▐ ▌
http://ـ▅ ▐ ▐▍ ▇▇ ▍ ▍ ▐▅ ▐ـ▍
    ▐▂▂▍▀〓〓〓〓〓〓▀▐▂▂▍
     ▍ ▂ ▍ ▀▃▃▃▃▃▀  ▍▂  ▍
     ▐▃▃▃▍   ▐▂▂▍   ▐▃▃▃▍
           ▐ █ ▍
           ▐▂▀▂▍
182デフォルトの名無しさんsage2007/06/24(日) 20:47:24
馬鹿にはコピーできないって奴か。
残念ながらお前は馬鹿だ。
183デフォルトの名無しさん2007/06/24(日) 21:26:44
質問です。
.NET 2.0をターゲットにしてるんですが
メディアプレイヤーのコンポーネントでビデオ再生をしてるんですが
ここにニコニコ動画のような上から文字を入れるようにしたいんです。
メディアプレイヤーのメソッドにはそのようなものは発見出来なかったのですが、C♯で実現出来ないのでしょうか?
184デフォルトの名無しさんsage2007/06/24(日) 21:34:25
ない。
ちなみにC++にもない。

Direct Showで頑張れ。
185デフォルトの名無しさんsage2007/06/24(日) 23:03:32
メディアプレイヤーのメソッドにそのようなものが発見できるかもしれないという
発想がステキ
186183sage2007/06/24(日) 23:20:35
>>184
どうも。
やっぱり無いんですか。。。
DSでがんばります。

>>185
2003年ごろだったかな。
動画と字幕を扱う規格をMSがやろうとしてて
WMPに取り込まれるはずだったのよ。
実現はしなかったけど、それ絡みで残ってないかな と
187デフォルトの名無しさんsage2007/06/25(月) 00:14:32
ビデオ自体に字幕トラックを追加する
188デフォルトの名無しさんsage2007/06/25(月) 00:32:45
クイックタイムにもテキストトラックはあるな
189デフォルトの名無しさん2007/06/25(月) 04:00:17
C♯(VS2005)でWebブラウザ上でリッチアプリケーションを作る事が目的で、
ActiveXコントロールを作りたいのですが・・・
どっかのサイトで、クラスライブラリにユーザーコントロールを追加して、
プロジェクトの設定で「COM の相互運用機能に登録する」を有効にすれば作れると書いてありました。

しかし、これをHTMLに書き込んだ所、オブジェクトにそんなメソッドはないよと言われました。
色んなサイトを見ると、このActiveXモドキだと特殊なツールで登録しないといけないとか、インストーラーが必要だとか書いてましたが
実際のところ、よくあるFlashコントロールのインストールのような形で簡単にユーザーがブラウザ上で導入出来るような方法は無いのでしょうか?

190デフォルトの名無しさんsage2007/06/25(月) 09:11:49
>>155 voidで返したいということ?そんな致命的な話じゃないだろ。
191デフォルトの名無しさんsage2007/06/25(月) 09:25:18
あるクラスにエラーチェックの処理を作る場合、戻り値で成否を返すのとエラー発生させるのはどっちが一般的ですか?
192デフォルトの名無しさんsage2007/06/25(月) 09:30:23
例外はコスト高い
193デフォルトの名無しさんsage2007/06/25(月) 09:39:31
使うと便利なのかと思ったけどそうでもないのか・・・
194デフォルトの名無しさん2007/06/25(月) 10:20:22
>>191
スタックトレースや、そのたのエラー部分のメモリ情報を作成しているから時間がかかるのでナンセンス
例外はあくまで本当の例外で使うべきだと思う
19590sage2007/06/25(月) 11:03:26
90です。

またこちらのお世話になっても良いでしょうか?
196デフォルトの名無しさんsage2007/06/25(月) 11:11:23
もう勘弁してくれ
197デフォルトの名無しさん2007/06/25(月) 11:30:34
>>195
正直カンベンしてほしいが投稿するかどうかは自由だ
198デフォルトの名無しさんsage2007/06/25(月) 11:31:32
>>191
例外が発生しない正しい手順を用意してれば例外投げてもおk
199デフォルトの名無しさんsage2007/06/25(月) 11:32:23
内容によってはふらっとで
200デフォルトの名無しさんsage2007/06/25(月) 11:35:32
>>189
>色んなサイトを見ると、このActiveXモドキだと特殊なツールで登録しないといけないとか、インストーラーが必要だとか書いてましたが
その通り、Regasm.exeで登録するか、インストーラー使ってレジストリに書き込むしかない。
それが嫌なら、VS6.0のVBかVC++を使え。
しかしActiveXとか懐かしいな。今じゃ普通は.NETサーバーを使ったWebプログラミングにした方が良いと思うが。
あ、その場合は板違いだからWebプログラミング板で聞けよ。
20190sage2007/06/25(月) 11:39:16
先週の続きなのですが・・・ListBoxの中に表示された店舗をforを使い
ループで回しながらリストで選択されたデータを取得し、DataGridに表示
させようとしているのですが、上手く行きません。

private void buttom1_Click(object sender, System.EventArgs e)
{

int i;
int c;
c = Uri_detail_lstbox.Items.Count;

for(i = 0; i < c; i++)
{
if(listbox.GetSelected(i) == true)
{
OleDbDataAdapter oleda;
ataSet dataSet11 = new DataSet("SHOP_MST");
oleda = new OleDbDataAdapter("SELECT SHOP_JP_NAME FROM SHOP_MST WHERE SHOP_JP_NAME = '" + listbox.Items[i].ToString + "'",olecon);
oleda.Fill(dataSet11,"SHOP_MST");
dataGrid1.DataSource = dataSet11.Tables["SHOP_MST"];
}
}
}

という感じでやっています。
202デフォルトの名無しさんsage2007/06/25(月) 11:42:50
やっぱ.NET1.1だったのか?
203デフォルトの名無しさん2007/06/25(月) 11:43:54
どうせ全てのデータが表示されるんじゃなくて
最後の1つだけの情報がでてるとか言うオチなんだろ?
20490sage2007/06/25(月) 11:44:38
今見てみましたが、.NET1.1みたいです。
20590sage2007/06/25(月) 11:48:15
何一つ情報が出てこないんです。
206デフォルトの名無しさん2007/06/25(月) 11:52:24
まずループでまわすのはSelectedItemsのLengthだけにしたほうがステップ実行する時にわかりやすいかもな
あと、これでエラーは出てきていない?

エラーでてないんなら
"SELECT SHOP_JP_NAME FROM SHOP_MST WHERE SHOP_JP_NAME = '" + listbox.Items[i].ToString + "'"
まずこれを
debug.writeline "SELECT SHOP_JP_NAME FROM SHOP_MST WHERE SHOP_JP_NAME = '" + listbox.Items[i].ToString + "'"
かなんかで出力してDBで直接実行させてみて
それで出てない可能性が高いとおもうが?

ところでDBなんだったっけ?
207デフォルトの名無しさんsage2007/06/25(月) 11:52:32
今までのまとめ

>>90は外国人
・DBはoracle
・oracleだけどoledb
・素人のはずなのに環境選べず2.0を使わせてもらえない可哀想な子
・WHERE句のAND条件を知らない
208デフォルトの名無しさん2007/06/25(月) 11:53:49
>>207
これはひどいw
209デフォルトの名無しさんsage2007/06/25(月) 12:17:04
とりあえずこれを実行、SQLのhogehogeはデータに存在するやつに直してからな

private void buttom1_Click(object sender, System.EventArgs e)
{
  OleDbDataAdapter oleda;
  DataSet dataSet11 = new DataSet("SHOP_MST");
  oleda = new OleDbDataAdapter("SELECT SHOP_JP_NAME FROM SHOP_MST WHERE SHOP_JP_NAME = 'hogehoge'",olecon);
  oleda.Fill(dataSet11,"SHOP_MST");
  dataGrid1.DataSource = dataSet11.Tables["SHOP_MST"];
}
21090sage2007/06/25(月) 12:33:57
>>207
日本人です・・・。

>>209
これはちゃんと実行、成功しました。
211デフォルトの名無しさん2007/06/25(月) 12:46:39
>>210
じゃぁ入ってるデータ(listbox.Items[i].ToString の結果)に問題があるんじゃ・・・?
212デフォルトの名無しさんsage2007/06/25(月) 12:51:58
じゃあ次はこれを実行なだ

private void buttom1_Click(object sender, System.EventArgs e)
{
  MessageBox.Show(listbox.Items[listbox.SelectedIndex].ToString());
}
213デフォルトの名無しさんsage2007/06/25(月) 12:54:32
あのさ、ここで質問する前にlistbox.Items[i].ToStringの値がおかしいはずって気づくよね
まずそこを調べてみれば、ValueMember設定したらItemにDataRowViewが入っていることが
分かるわけで解決するよな
以前の質問もValueMemberとSelectedValueを間違えているせいで表示されなかったんだろうな
21490sage2007/06/25(月) 12:56:25
店舗を選択している状態でボタンを押すとだと、Sysytem.Data.DataRowViewと出てきます。
215デフォルトの名無しさん2007/06/25(月) 12:57:00
\(^o^)/お約束ktkr
216212sage2007/06/25(月) 13:00:43
oleda = new OleDbDataAdapter("SELECT SHOP_JP_NAME FROM SHOP_MST WHERE SHOP_JP_NAME = '" + listbox.Items[i].ToString + "'",olecon);

これを

DataRowView view = this.listbox.Items[i] as DataRowView;
oleda = new OleDbDataAdapter("SELECT SHOP_JP_NAME FROM SHOP_MST WHERE SHOP_JP_NAME = '" +
view[this.listbox.ValueMember].ToString() +
"'",olecon);

に変更すれば、「複数店舗選択したはずなのに一つだけで抽出されます><」って
次の糞質問ができるようになるので死んでください
217デフォルトの名無しさんsage2007/06/25(月) 13:01:30
212じゃなく213でした><
21890sage2007/06/25(月) 13:12:03
追加情報 : SHOP_MST.SHOP_JP_NAME は、テーブル SHOP_MST の DataColumn でも DataRelation でもありません。

っと表示されました
219デフォルトの名無しさんsage2007/06/25(月) 13:13:19
 お 前 は 他 人 に レ ス を ち ゃ ん と 読 め
220デフォルトの名無しさん2007/06/25(月) 13:14:04
そろそろカンベンしてほしいところだな
そろそろ一撃で終わらせたい
221デフォルトの名無しさんsage2007/06/25(月) 13:15:36
>>220
お前が自由だなんて書き込んだからまた来たんだろうがw
ちゃんと最後まで責任取れよ
22290sage2007/06/25(月) 13:24:09
すいません。ちゃんと店舗名が表示されました。
22390sage2007/06/25(月) 13:28:43
ごめんなさい。
216の言うとおりなんですが・・・複数店舗表示させるにはどうすればいいでしょうか?
224デフォルトの名無しさんsage2007/06/25(月) 13:29:24
private void button3_Click(object sender, EventArgs e)
{
  MessageBox.Show(((DataRowView)listbox.Items[listBox1.SelectedIndex]).Row[0].ToString());
}
225デフォルトの名無しさん2007/06/25(月) 13:29:34
>>221
まてまて 俺じゃない

>>222
おめでとう 解決したな?よかったぜw
226デフォルトの名無しさんsage2007/06/25(月) 13:31:23
>>223
ループで毎回データソース上書きしているのがおかしいってことに気づくように頭を鍛える
227デフォルトの名無しさん2007/06/25(月) 13:31:27
WHERE SHOP_JP_NAME = '" +view[this.listbox.ValueMember].ToString() +"'"

この部分を

WHERE SHOP_JP_NAME IN( '店舗名1','店舗名2' )

とかにするのはどうだ?

WHEREでガリガリくっつけるのもありだが
22890sage2007/06/25(月) 13:42:36
>>227
毎回選択されるものが違うのですが、INで大丈夫なんでしょうか?
229デフォルトの名無しさんsage2007/06/25(月) 13:43:03
お前の脳みそがまともなら大丈夫
23090sage2007/06/25(月) 13:52:57
すみません。どうやればいいでしょうか・・・・
231デフォルトの名無しさんsage2007/06/25(月) 14:01:50
まず、リストボックスで選択された店舗名をstring配列に突っ込む
次にそのstring配列使ってINの'店舗名1','店舗名2'の部分を作っていく
string.Joinあたりを使うと楽
23290sage2007/06/25(月) 14:07:55
本当に無知ですいません・・・・。

string配列とか使ったこと無いので分からないんですけど
具体的にどのような形にすればいいですか?
233デフォルトの名無しさんsage2007/06/25(月) 14:09:14
それすら分からないってのは、人に聞く以前の問題だから基礎を勉強してから来てください
23490sage2007/06/25(月) 14:20:05
選択された店舗名を配列にどうやって突っ込んでしょうか?
235デフォルトの名無しさんsage2007/06/25(月) 14:26:21
釣りはお腹いっぱい
236デフォルトの名無しさんsage2007/06/25(月) 14:31:50
Nyow Dow
237デフォルトの名無しさんsage2007/06/25(月) 14:33:42
まずはSQLを手で書けるように環境と教科書を整えて
238デフォルトの名無しさん2007/06/25(月) 14:45:42
これはやばいwww
今更だが俺の一言がこれほどの事態を呼び起こそうとは
NT○の時以来だ・・・orz

すまんみんな
俺も頑張る
23990sage2007/06/25(月) 14:49:38
お願いします、詳しく教えてください。
240デフォルトの名無しさんsage2007/06/25(月) 14:51:30
if(listbox.GetSelected(i) == true)
とか書いちゃうようなバカにDB使わせちゃう会社って凄いな
よほどデータベース管理者がしっかりしてるんだろうなぁ
241デフォルトの名無しさん2007/06/25(月) 14:51:55
Object型だと面倒くさいから
StringCollectionあたり使ってみるのはどうだろうか?
242デフォルトの名無しさんsage2007/06/25(月) 15:00:53
デブサイコにちょっと情けかけちゃったら
必死ですがりついてくるようになったようなもんだな。

これが最後のチャンスと思って死ぬ気で全体重かけてくる
243デフォルトの名無しさんsage2007/06/25(月) 15:02:11
そして>>241みたいなバカが相手にしちゃう、と
244デフォルトの名無しさんsage2007/06/25(月) 15:17:28
>>242
ブサイコ、で検索したら(((((( ;゚Д゚)))))ガクガクブルブル なページがあって寒くなった
245902007/06/25(月) 16:05:54
どうやって配列にListBoxの項目を入れるんでしょうか・・・
246デフォルトの名無しさんsage2007/06/25(月) 16:07:15
死ねよ^^
247デフォルトの名無しさん2007/06/25(月) 16:13:27
>>245
おまえはググってみたのか?
248デフォルトの名無しさんsage2007/06/25(月) 16:54:37
もはや自分で考えることすら放棄したか・・・
249デフォルトの名無しさんsage2007/06/25(月) 20:32:19
もう諦めて本読んで勉強しろ
一週間はコード書くな
250デフォルトの名無しさんsage2007/06/25(月) 20:46:46
ここまで読み飛ばした
251178sage2007/06/25(月) 21:08:11
>>180
ファイルをどうやって分割して送るんですか?
copyメソッドではそんなことできないですよね?







あとマルチ行為を働いたことを心のそこからお詫びします。
だから教えてください。
252デフォルトの名無しさんsage2007/06/25(月) 21:13:02
copyメソッドを使わない
253デフォルトの名無しさんsage2007/06/25(月) 21:15:27
えー回答がそれっすか?
254デフォルトの名無しさんsage2007/06/25(月) 21:18:58
>>178
ShellAPIになんかそういうのあったじゃん。それ使っとけ。

というか、進渉じゃなくて進捗だろうが。
C#以前に日本語の勉強して来いよ。
255デフォルトの名無しさんsage2007/06/25(月) 21:22:10
>>254
押入れにしまっていた漢字ドリルをとりだして勉強します。

あと大好きです。
256デフォルトの名無しさんsage2007/06/25(月) 21:45:23
むしろ「渉」ってなんて読むのw
進捗の方が余程易しい漢字のように思うんですが。
257デフォルトの名無しさんsage2007/06/25(月) 21:51:56
>>256
交渉とか縁のない自宅警備員の人ですか
258デフォルトの名無しさんsage2007/06/25(月) 22:02:15
ああ交渉のねなるほど。
単独で使わない漢字は熟語でみないと分からないもんだな。

どうでもいいが、俺は営業でも商売人でもないんで交渉とは縁なんか当然ないよ。
君は脳内スーパーPGでヘッドハンターとの交渉に明け暮れてるのかなw
259デフォルトの名無しさんsage2007/06/25(月) 22:08:42
しんしょうりつ!!!
260デフォルトの名無しさんsage2007/06/25(月) 22:11:44
今の人間は「川を渉る」とか書かないわけ?
261デフォルトの名無しさんsage2007/06/25(月) 22:13:34
書いたこと無いなぁ
262デフォルトの名無しさんsage2007/06/25(月) 22:14:56
そういえば小学生のころの友達に渉っていたな。
263デフォルトの名無しさんsage2007/06/25(月) 22:50:29
     ∧_∧
 ピュー (  ^^ ) <これからも山崎を応援して下さいね(^^)。
  =〔‾∪ ̄ ̄〕
  = ◎――◎                      山崎渉

264デフォルトの名無しさんsage2007/06/26(火) 09:32:03
複数の型を取り扱えるように List を継承した、Data クラスを作りました。
次に Data も Data も同一に扱えるように、IData インターフェイスを
つくり Data にかぶせました。

でも、
IData d = new Data();
d.Add(hoge);

ということができませんので、IData インターフェイスに、
void Add(object item);

Data に
public void Add(object item)
{
base.Add((T)item);
}
とメソッドを実装しました。
これで、
IData d = new Data();
d.Add(hoge);
ができるようになってのですが、Add の引数が object なのでキャスト時に
エラーが出ると思います。
もっとスマートな実装は考えられるでしょうか?
265デフォルトの名無しさんsage2007/06/26(火) 09:35:55
string と int を同一に扱いたいのならば
object の配列なりリストなりを使えばいいだけでは
266デフォルトの名無しさんsage2007/06/26(火) 09:48:54
>>263
なつかしいなおいw
267デフォルトの名無しさんsage2007/06/26(火) 10:02:32
List を使う処理の部分をジェネリッククラスに分離して
(Add を利用するような処理も全部)、
それをポリモーフィックに扱うんじゃだめなの?
268デフォルトの名無しさんsage2007/06/26(火) 10:24:55
>>267
たとえばどんなふうに?IData に Data を入れてポリモーフィックに扱ってるんじゃないの?
269デフォルトの名無しさんsage2007/06/26(火) 10:41:14
こんなイメージになるか?

interface IA { void Hoge(); }
class A : IA { private List list = new List(); }

class A_int : A {
 public void Hoge() { list.Add(1); }
}

class A_string : A {
 public void Hoge() { list.Add("hoge"); }
}
270デフォルトの名無しさんsage2007/06/26(火) 10:45:18
>>264

interface IData {
void Add(T item);
}
271デフォルトの名無しさんsage2007/06/26(火) 10:47:40
>>270
それはあまり意味がないのでは?
List を直接使ったのと同じ事かと。
272デフォルトの名無しさんsage2007/06/26(火) 10:59:46
>>269
なるほどね。用意する型の数が少なければこの方法がいいね。
多い場合は >>264 でも良い気がする。
d.Add メソッドの中で型のチェックをすればおけ。
273デフォルトの名無しさんsage2007/06/26(火) 12:36:14
そもそも>>264のやりたいことの意味がわからん。
アイテムの型として複数のを許容するリストを作りたいのかなんなのか

回答してる奴は本当に分かって回答してるか?
再考を要すると思うぞ俺は。
274デフォルトの名無しさんsage2007/06/26(火) 14:23:10
そもそも根本的にGenericsがどんなものかわかってないんじゃないか?
275デフォルトの名無しさんsage2007/06/26(火) 14:29:26
>>273
>アイテムの型として複数のを許容するリストを作りたいのかなんなのか

あんたが一番分かってないじゃん
276デフォルトの名無しさんsage2007/06/26(火) 14:31:00
状況に応じて int のリストを扱ったり、
string のリストを扱ったりしたいんだと思ってるけど、
それが一体どういう状況なのかはイマイチ分からないな。
277デフォルトの名無しさんsage2007/06/26(火) 14:45:15
みんなよく264の言ってることわかるなー。
IListで済みそうな話に見えるけど
278デフォルトの名無しさんsage2007/06/26(火) 16:38:37
つまり、ListがIList(非ジェネリック)を実装してるのと同じようなことがやりたいの?
非ジェネリックの方を明示的実装にしとけば気休めにはなる
279デフォルトの名無しさんsage2007/06/26(火) 19:21:58
>>273
みなさまお手を煩わせて申し訳ありません。

えーっとやりたいことは、
1. ある計算をするクラスがいろいろとある。
2. この計算は、int のときもあれば double のときもある。
3. int, double ごとに、計算クラスを作りたくない
ので、複数の型を許容するジェネリックを使いました。

>>264 の例で、string と書きましたが、string は使いません。
280デフォルトの名無しさんsage2007/06/26(火) 19:23:12
ジェネリッククラスを 1 つ作るんじゃないのか? 普通は。
281デフォルトの名無しさんsage2007/06/26(火) 19:25:31
>>279
お前Genericsとは何なのか理解してないだろ。
282デフォルトの名無しさんsage2007/06/26(火) 19:26:23
>>280
そうです。今は List を継承した Data : List クラスを使っています。
これで int や double の配列として使えますので。

ジェネリックの使い方がわかっていないのかも知れません。
283デフォルトの名無しさんsage2007/06/26(火) 19:26:46
>>279
http://www.codeproject.com/csharp/genericnumerics.asp
284デフォルトの名無しさんsage2007/06/26(火) 23:35:27
すいません、書籍に関して質問です。

私はC/C++、構造化/オブジェクト指向あたりは2〜3年位やっていて
プログラムの基礎の部分は抑えているつもりです。
興味の対象は web アプリ等ではなく PC で単独で動くWindowsアプリケーションで、今は
VC++&Win32API より使いやすいらしいという C#&.net framework を勉強してみようかと考えている所です。

で、よさげな本を探していたら「C#によるプログラミングWindows 上 (Charles Petzold) 」という本を見つけたのですが

・VS、あるいは.netがバージョンアップを繰り返しているけど、この本は今でも使い物になるか
・難易度は少々高くてもいいけど、中身は充実してるか(興味の対象と照らし合わせて、他に良い本がないか)

という点が気になっています。
以上、読んだ方がおられましたら参考までに教えていただけると嬉しいです。
285デフォルトの名無しさんsage2007/06/26(火) 23:39:55
>>284
わからんけど新しいもの買ったほうがよさそう。
本は複数買うように。
286デフォルトの名無しさんsage2007/06/26(火) 23:45:05
っと思ったけど、古いよそれ。
本屋にあるのは立ち読みされてべろべろの奴ばっか。
287デフォルトの名無しさんsage2007/06/26(火) 23:47:19
UIに関する説明がメインだと記憶する。会社にあるが誰も見ない
288デフォルトの名無しさんsage2007/06/26(火) 23:47:55
>>284
オライリーので良いんじゃない?
289デフォルトの名無しさんsage2007/06/26(火) 23:49:28
>>288
用途が違うのでは?
290デフォルトの名無しさんsage2007/06/26(火) 23:54:59
初めて○○を勉強する人にオライリーを勧める奴だけは信用するなよ
291デフォルトの名無しさんsage2007/06/27(水) 00:14:45
悪書?
292デフォルトの名無しさん2007/06/27(水) 00:29:42
>>290
俺はお前が信用できない
293デフォルトの名無しさんsage2007/06/27(水) 00:37:20
>>290
初心者には難しいし、何より退屈だからな。
294デフォルトの名無しさんsage2007/06/27(水) 00:55:23
買うときは俺のサイトのアフィ経由で頼むぞ
295デフォルトの名無しさんsage2007/06/27(水) 01:17:30
オライリーを持ってるだけで知ったかぶりするヤツは確かにいるな
296デフォルトの名無しさん2007/06/27(水) 01:21:22
知り合いは表紙が好きだからオライリー買ってると言ってた
297デフォルトの名無しさんsage2007/06/27(水) 03:10:16
XP VC#2005を使用しています

TextBoxを継承したカスタムコントロール内で

protected override void OnEnter(System.EventArgs e) { }

を記述しフォーカス時に背景色を書いている(共通処理用)のですが、
フォームにこのカスタムテキストボックスを配置してEnterイベント(個々の処理用)

private void CustomTxt_Enter(object sender,EventArgs e) {}

を記述もEnterイベントが発生しません。ドキュメントには継承時の注意として

>派生クラスで OnEnter をオーバーライドする場合は、
>登録されているデリゲートがイベントを受け取ることができるように、
>基本クラスの OnEnter メソッドを呼び出してください。
と書いているのですが意味が良くわかりません。
298デフォルトの名無しさんsage2007/06/27(水) 03:11:56
base を調べれ
299297sage2007/06/27(水) 03:16:01
>>298
ヒントありがとうございます。ドキュメントに書いてある内容の意味がよくわかりました。

カスタムコントロールで
protected override void OnEnter(System.EventArgs e) {
  base.OnEnter(e);
}
としたらできました。
300デフォルトの名無しさんsage2007/06/27(水) 06:50:08
DataTable.Select()を用いてLINQのように絞り込みながら検索していく
ことはできないでしょうか?例えばtableA(属性a,属性b)があって、
(1,1)(2,1)(2,2)(3,3)のインタンスがあります。
まずはa=2で絞りこむ→(2,1)(2,2)
その結果からb=max(b)を絞り込む→(2,2)
ということが目的です。
301デフォルトの名無しさんsage2007/06/27(水) 06:55:22
DataView の RowFilter に AND くっつけていく
302デフォルトの名無しさんsage2007/06/27(水) 08:13:45
>>284
・VS、あるいは.netがバージョンアップを繰り返しているけど、この本は今でも使い物になるか
No
いい本だとは思う。Ver2の差分を他の本で補うのなら購入してもいいとは思うが。
バージョンの差分が大きいので、今は他の本を探した方がいいとおもう。

・難易度は少々高くてもいいけど、中身は充実してるか(興味の対象と照らし合わせて、他に良い本がないか)
Yes
303デフォルトの名無しさんsage2007/06/27(水) 20:36:39
ふらっとの方がまた新スレ立つ前に埋まったな
304デフォルトの名無しさんsage2007/06/27(水) 21:59:49
ふらっとC♯, C#(初心者用) Part17
http://pc11.2ch.net/test/read.cgi/tech//
305デフォルトの名無しさんsage2007/06/27(水) 22:25:05
このスレにはZARDの坂井の葬儀に行った人はいないだろうね。
306デフォルトの名無しさんsage2007/06/27(水) 22:26:48
スレ違い。よそへ逝け
307デフォルトの名無しさんsage2007/06/27(水) 22:31:38
坂井をよく見るとC#が隠れている。
308デフォルトの名無しさんsage2007/06/27(水) 23:36:43
>>307
Cがどこに隠れているかわかりません。
309デフォルトの名無しさんsage2007/06/27(水) 23:37:06
>>307
むしろF#に見える
310デフォルトの名無しさんsage2007/06/27(水) 23:42:39
interfaceを設計するとき

Hoge GetHoge();

T Hoge
{
get;
}

どっちを選ぶかの指針ってありますん?
ご教示ねがいます。
311デフォルトの名無しさんsage2007/06/27(水) 23:44:23
Hoge GetNantoka();



Hoge Nantoka
{
get;
}

のまちがいでした
312デフォルトの名無しさんsage2007/06/27(水) 23:46:29
つ MSDN『プロパティとメソッドの選択』
313デフォルトの名無しさんsage2007/06/27(水) 23:50:44
そのゲッターを定義すること自体がインターフェイスの目的だったらGetNantokaにするとか
314デフォルトの名無しさんsage2007/06/27(水) 23:52:12
>>312
>>313
参考になりました。
315デフォルトの名無しさん2007/06/28(木) 23:05:37
ふるいスレがあがってるのでage
316デフォルトの名無しさん2007/06/29(金) 11:54:18
VisualStudio.NET 2005 C#
なのですが、例外について質問があります。

try〜catch は、付けようと思えばすべての関数に付けることができますし、
バグを含むすべての可能性に対処するのであればすべての関数につけるべきだと思います。

しかし実際のところどうなのでしょうか?

理論上、絶対に例外が発生しないところにはtry〜catchは付けず、
プログラム使用者の使い方によって例外が発生しそうなところだけにtry〜catchを付ける、
という使用方法で良いのでしょうか?
317デフォルトの名無しさんsage2007/06/29(金) 12:01:49
catchする必要なトコでつけりゃいいだろ
上から呼ばれて下を呼ぶ時にそこでcatchするのがまずいこともあるべ
318デフォルトの名無しさんsage2007/06/29(金) 12:03:10
>>316
>理論上、絶対に例外が発生しないところにはtry〜catchは付けず、
Yes

人生色々 PGも色々 ↓見て勉強してください

例外処理
http://pc11.2ch.net/test/read.cgi/tech//
319デフォルトの名無しさんsage2007/06/29(金) 12:03:58
>>316
>バグを含むすべての可能性に対処するのであればすべての関数につけるべきだと思います。

プログラムというのは、何らかの期待する動作(仕様)の通りに動くように書くわけです。
その動作のために必要なところには try catch を書き、不要なところには書く必要がない、
と簡単に言えばこうなります。

起こりうるバグやミスへの対処はエラーチェックとロギング等で行うものであって、
try catch を入れたからといって何か良いことが起きるわけでもありません。
3203162007/06/29(金) 12:49:10
>>317-319
ありがとうございます。
例外の必要・不必要をそのつど見極めるべきで、
無条件にすべてに例外を付けるのはナンセンスのようですね。
321デフォルトの名無しさんsage2007/06/29(金) 13:53:51
>>320
なんらかの異常が発生したときにプログラムにどういう動作をしてほしいか考えればおのずとどこにcatchをいれるべきかわかろう。
322デフォルトの名無しさんsage2007/06/29(金) 15:58:17
例外をしらみつぶしにするなら、(たいていの場合)対処のしようのないOutOfMemoryExceptionや、IllegalEngineStateExceptionまでも考えないといけない
323デフォルトの名無しさん2007/06/29(金) 16:06:31
インターフェイスをユーザーが実装したときに,
VSのエディタでメソッド等が表示される順番をコントロールするAttributeってないですか?
現状アルファベット順で並んでしまうので、機能別に並べたいです
324デフォルトの名無しさんsage2007/06/29(金) 16:52:43
仕事でC#使ってる人、難読化とかってしてる?
325デフォルトの名無しさんsage2007/06/29(金) 16:53:20
仕事だけど使う人が限定してるので特には
326デフォルトの名無しさんsage2007/06/29(金) 17:04:27
>>323
あるのでMSDNをよく読んでください。
327デフォルトの名無しさんsage2007/06/29(金) 17:50:10
>>325 不特定多数に配るもんじゃないとあまり理由もないでしょうしね・・・いまいち実際に使った人とかの体験談が見つからん。
328デフォルトの名無しさんsage2007/06/29(金) 18:08:57
>>326
頭から読んでるんですがみつかりませんorz
ヒントでもいいので下さい。どの名前空間あたりにあるかとか……
329デフォルトの名無しさんsage2007/06/29(金) 18:11:55
System.ComponentModel
330デフォルトの名無しさんsage2007/06/29(金) 18:12:50
難読化って言葉自体、はじめて聞いた。
ググってみたけどJAVAだと重要のようだね。
俺のは事務処理だから配布はすべてバイナリだし、今はまだ関係ないぽ。
331デフォルトの名無しさんsage2007/06/29(金) 18:13:46
> 配布はすべてバイナリだし
意味不明
332デフォルトの名無しさんsage2007/06/29(金) 18:15:50
>>330
Reflectorでぐぐれカス
333デフォルトの名無しさんsage2007/06/29(金) 18:19:40
>>329
降参ですorz
ケツにAttributeってついてるの見ましたが分かりませんorzorz
ずばり教えてください
334デフォルトの名無しさんsage2007/06/29(金) 18:22:28
実はありません。
335デフォルトの名無しさんsage2007/06/29(金) 18:26:07
この前、[DisplayName("01 hogehoge")]と自分で連番付けて対処したけどこれは真似しちゃダメだぞ☆
336デフォルトの名無しさんsage2007/06/29(金) 18:33:56
>>333
いまいち言ってることがよく分からんが、自作のプロパティがプロパティグリッドの
適当なカテゴリに表示されるようにしたい、ということなり文字通りCategory属性でしょ。

一応自分でカテゴリを新設することも可能。
まあMSDNの解説は例によって判じ物みたいだけどね。
337デフォルトの名無しさんsage2007/06/29(金) 18:34:19
>>323が言ってるのは、インターフェイス実装のスタブを
VSの機能を使って一括生成したときのメンバの順番のことなんじゃないの?
自分で属性定義してマクロ書くとか
338デフォルトの名無しさんsage2007/06/29(金) 18:47:10
>>330-332
ちょっとワラタ
難読化でググると上のほうは.NET関連のが多いじゃないか
339デフォルトの名無しさんsage2007/06/29(金) 18:50:07
Reflectorは感動ものだな
難読化なんてくだらないことを考える自分がちっぽけに見える
340デフォルトの名無しさんsage2007/06/29(金) 18:53:21
パスワード入れると修正なしでエロ画像がみれる類のシェアウェアの
作者には難読化は死活問題。
341デフォルトの名無しさんsage2007/06/29(金) 18:54:53
そもそもそんなものC#でつくらない。
342デフォルトの名無しさんsage2007/06/29(金) 19:02:20
まあ書いた本人ですら三日後に読むと何が書いてあるかワケワカラン
お前さんのコードに難読化なんて最初から必要ないわけで。

というか、お前さんの大した技術も使われてないウンココードを
一体だれがわざわざ覗くのかと。
343デフォルトの名無しさんsage2007/06/29(金) 19:05:58
.NETのアセンブリを拾ってきたらまず覗いてみたくはなるな
覗いてどうしようっていうわけではないけど
344デフォルトの名無しさんsage2007/06/29(金) 19:55:18
パッと見はワカランが、
少し時間をかければ読めるってw
345デフォルトの名無しさんsage2007/06/29(金) 19:58:54
>>330
・・・君も仕事でC#やってるの?
346デフォルトの名無しさんsage2007/06/29(金) 20:19:13
>>330は仙人
347デフォルトの名無しさん2007/06/29(金) 20:33:49
C#で、テキストボックスの監視ってどうやってやるのですか?

例えば、テキストボックスと保存ボタンがあって、テキストボックスに
何も入力されていなかったらボタンのenabledをオフにしたいのです。

javaだったらテキストボックスにドキュメントリスナーを追加して
テキストボックスを監視して何も入力されていないときは、ボタンをオフにできるのだけれど・・
348デフォルトの名無しさんsage2007/06/29(金) 20:40:35
>>347
デフォルトでオフにしといて、
TextBoxのValidatedイベントで値の入力を確認してオンにする
349デフォルトの名無しさん2007/06/29(金) 20:51:39
>>348
でもそうすると、もう一度テキストボックスが空になったとき
オフにならなくないですか??
350デフォルトの名無しさんsage2007/06/29(金) 20:52:27
private void textBox1_TextChanged(object sender, EventArgs e)
{
   this.button1.Enabled = !string.IsNullOrEmpty(this.textBox1.Text);
}

こんな風にしとけばいいじゃん
351デフォルトの名無しさん2007/06/29(金) 21:30:25
今、やってみたけどダメだった・・・

this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged);
352デフォルトの名無しさんsage2007/06/29(金) 21:37:34
ValidatingかValidatedイベントに>>350と同様のイベントハンドラでは?
353デフォルトの名無しさんsage2007/06/29(金) 21:39:12

public Form1()
{
InitializeComponent();
button1.Enabled = false;
textBox1.TextChanged += new EventHandler(textBox1_TextChanged);
}

void textBox1_TextChanged(object sender, EventArgs e)
{
button1.Enabled = textBox1.Text.Length > 0;
}

これで普通にできるけど・・・
354デフォルトの名無しさん2007/06/29(金) 21:56:14
いやん。できた。あ・り・が・と・
あたしのダーリン♥
355デフォルトの名無しさんsage2007/06/29(金) 22:01:05
↑嬉しそうにハートマーク使うところが房なんだよ
356デフォルトの名無しさんsage2007/06/29(金) 22:02:48
房かよ
357デフォルトの名無しさん2007/06/29(金) 22:08:57
房ってなに?ふさ?
358デフォルトの名無しさんsage2007/06/29(金) 22:18:21
ふさふさ?
誰がハゲやねん#
359デフォルトの名無しさんsage2007/06/29(金) 22:21:31
C#厨と書いてあっても「しーしゃーぷぼう」と読んじゃう厨房がいるらしいよ
360デフォルトの名無しさんsage2007/06/29(金) 22:24:41
たまに『○○房』ってみかけるが
『○○厨』って書いてるつもりだったのか
361デフォルトの名無しさんsage2007/06/29(金) 22:26:35
美容師「漢字も読めずに2ちゃんねら気取りっすかwwwwwwww」
362デフォルトの名無しさん2007/06/30(土) 01:16:28
>>361
すごくいい話しに見えるフラグ来たな

だが、俺は容赦なく「例外」を投げつける・・・!

363デフォルトの名無しさんsage2007/06/30(土) 01:27:25
実際ぶびから流れてくる人多いし、C#マの質は・・・
364デフォルトの名無しさんsage2007/06/30(土) 01:42:40
俺は自分が質問するところが一つ減るのは困るから一応言わせてもらうよ。
くだらない馴れ合いがしたい寂しい奴は他所いって気が済むまでやれよ。
TPOも弁えられない低能ならプログラマなんてやめちまえよ。

まあ、もう手遅れかもしれないけどね最近のこのスレのレベルを見てると。
365デフォルトの名無しさんsage2007/06/30(土) 02:17:26
ああまったくだ
とりあえず>>364はクズだな
しんどけ
366デフォルトの名無しさんsage2007/06/30(土) 02:26:07
>>360
厨房の房やろ
○○厨ってなんやねんwwww
367デフォルトの名無しさんsage2007/06/30(土) 02:34:56
>>366
あぁマックをマクドとかいう人種か
納得。
368デフォルトの名無しさんsage2007/06/30(土) 02:36:41
>324
Component Oneとか商用のライブラリだけにちゃんと難読化されててReflector使ってもちょっと読みづらいよ。
DotCOEなんかはそのへん少しは警戒しなきゃいけないようなアプリだと思うが、全く難読化されてなくて激しくノーガード戦法だったよ。

自分のところのアプリは試しに難読化してみてReflector掛けてみたらあんまり意味がないと思った。
お試し版のではソースに埋まってるSQLとか難読化できないのでそのままなので全然意味がなかった。
リフレクションに依存した処理が入っていると難読化すると正常に動かなくなるので
ソース書く人が多いと誰か知らぬまにリフレクションを使ったりして動かなくなるので事実上難読化してから全部再テストとかやってられないし。
enumのToStringとenum.Parseとかやって設定ファイルとかにenumの文字列表現をはき出したりすると駄目なわけだし。
dllとか分けてるとpublicな部分は難読化するわけにはいかないし。

とりあえず、中国語化して中国向けの新しい市場を開拓したいとか言ってた人がいたけど全力で反対した。
369マルチを働いたものですsage2007/06/30(土) 05:02:07
FileStreamクラスを使ってファイルのコピーに成功しました。

ファイルを分割してコピーする方法を教えていただいた方にここで御礼申し上げといてあげます。
370デフォルトの名無しさんsage2007/06/30(土) 06:05:34
>中国語化して中国向けの新しい市場を開拓したいとか言ってた人がいたけど全力で反対した。
難読化とのつながりをもうちょっと説明してほしい(煽りではないよ)

enumに関してはenumを難読化の対象からはずせばいいだけの話では。
371デフォルトの名無しさんsage2007/06/30(土) 10:16:53
難読化をうるさく言うやつに限って、誰でも作れるようなアプリしか組んでない。
372デフォルトの名無しさんsage2007/06/30(土) 12:09:16
ともあれWin32APIのリプレースを狙っていてこんな大問題を放置しているMSはアホ杉だな。
まあWin32も延命されたことだし.NETはサーバ周りで細々とやっていけって判断なのかね。
373368sage2007/06/30(土) 12:10:56
>370
中国向けに出すからコピー対策で難読化を行うってことからとりあえず難読化を試したので。
難読化とかしても全てそのままコピーされて勝手に売られると思うので
やはり中国は市場にはならないと思ってるので難読化が使い物になってても反対したけど。
中国向け以外では別に難読化なんてしなくてもかまわないと思ってるし現状は難読化してない。
何かエラーが起きてもログなどに残ってたスタックトレースも難読化されてて追いづらいのも面倒だし。

確かに、問題が起きるenumとかだけ難読化から外せばいいんだけど、
そうするとリフレクションがある以上は確実に同じ動きをするには難読化できないってことになるから。

Reflectorでカジュアルハックされるのを防止したいなら
アセンブリをリソースに暗号化して埋め込んでそれを展開したメモリから直接にアセンブリをロードするようにして
展開処理だけ難読化しとけばいいと思うよ。
単純な難読化よりかは動作への影響は少ないだろうし、それでも解析しようとするやつ相手には.NETの範囲だけでどんなに対策してもほとんど無駄だし。
374デフォルトの名無しさん2007/06/30(土) 12:40:23
やってみてから言え
375側近中の側近2007/06/30(土) 13:25:42
(っ´▽`)っ
しぃ三姉妹だよ☆
(*゚ー゚)
(++゚ー゚)
(#゚ー゚)
376デフォルトの名無しさんsage2007/06/30(土) 14:11:52
C++/CLIつかって重要なロジックはネイティブコードにしときゃいいじゃん。
377デフォルトの名無しさんsage2007/06/30(土) 15:41:34
重要なロジックだけ分離できるならそれでもいいけどなー
何つーかフレームワーク的に全体の構造をあんまり見せたくないなぁというものに対してはそれだと難しい。
うまく鍵使って実行時に暗号解除するほうがいろいろとまんどくさくない気がしてきた。
378デフォルトの名無しさんsage2007/06/30(土) 15:50:08
本来は実行ファイルの圧縮が目的だけど難読化、というより
元のコードはReflectorからは見えなくなるな。

ttp://madebits.com/netz/index.php
379デフォルトの名無しさんsage2007/06/30(土) 15:56:20
>>284
俺もC++を知っていて、最近(ココ2,3ヶ月)会社で自分のための道具を作るのにC#で書くようになった。
.NETもCOMも利用できるので便利だしVC++よりインテリセンスがC#は良く効くので楽。
C++をマスターしてるってことで俺の場合が参考になると思う。
Petzorldの本はWinFormを読んだ、空のプロジェクトから作るので解りやすい。英語だけどWinFormに慣れるには良い。
C#そのものは、オライリーのプログラミングC#第4版を電車の中で通読
なんかオライリーのことを悪く言いたい奴がいるみたいだけど、プログラミングC#はC++解ってるなら入門には良い
.NET2.0対応と書いてるようにGenericクラスのことなども触れていて1部を通読すれば言語として大体の感じは掴める。
後はMSDNのオンラインヘルプで問題なくできるんじゃないかな?

ものによるけどWinodwsPCの中で単独で動くだけならVC++&ATL/WTLで書いたほうがコンパクトで配布も簡単な気もする
380デフォルトの名無しさん2007/06/30(土) 18:49:55
エクセルファイルを読み込んで、
ある行の一番右端に書かれてる場所が何列目に当たるのかを取得したいんだけど
どうすればその値を取得できんの?
Rows[n].Countだと65536になってしまうので。
381デフォルトの名無しさんsage2007/06/30(土) 19:03:12
エクセルのファイルフォーマットが読めるクラスを自作したの?
だったらあんたの自作クラスの仕様なんか、誰も知らないだろう。
違うか?
382デフォルトの名無しさんsage2007/06/30(土) 21:15:42
COMだろ
Excelスレで聞いた方が良いんじゃね?
俺は右端取得なんて便利なプロパティ聞いたこと無いわ
383デフォルトの名無しさんsage2007/06/30(土) 21:31:03
マクロ記録でctrl+→
384デフォルトの名無しさんsage2007/06/30(土) 21:32:51
後ろから順にサーチすりゃいいじゃん。
385デフォルトの名無しさんsage2007/06/30(土) 21:36:56
>>383
空セル混じってもいける?
386デフォルトの名無しさんsage2007/06/30(土) 21:57:57
>380
WorkSheet内で右端というか使ってる範囲ならUsetRangeが楽だけど
ある行のを手軽に取得する手段はよくわからん。

ま、スレ違いだが。
387デフォルトの名無しさん2007/06/30(土) 23:38:41
>>386
おぉ WorkSheet内でも構わないんですけど!
ちなみにUsetRangeで検索かけてもヒット0件だったけど。。
もうちょい詳しく教えてくだちい。
range.get_End(XlDirection.xlToRight)
で、起点から、次の空白まではいけるらしいんだけど。

スレ違いとなるとVBAスレが適当なんですかね??
VBで回答きそうな。まぁいいけど。

388デフォルトの名無しさんsage2007/06/30(土) 23:39:34
よかねえよボケ
389デフォルトの名無しさんsage2007/06/30(土) 23:39:56
Excel総合相談所 57
http://pc11.2ch.net/test/read.cgi/bsoft//

マルチ扱いされないように気をつけて行ってらっしゃい
390デフォルトの名無しさんsage2007/06/30(土) 23:46:54
>>379
ありがとう
391デフォルトの名無しさんsage2007/06/30(土) 23:51:09
>>389
どうもありがとう。移動しました。
392デフォルトの名無しさんsage2007/06/30(土) 23:56:55
>>391
去った後に回答するのもなんだけど、普通に行内のセルを一つ一つチェックするしかないし、
するだけのことでしょ。

まあベタにやるとたぶん遅いので一旦行全体のRange.ValueをObjcet[255,0]に
読み取った方がいいとは思うけど。

それと、エクセル操作するならC#よりVB.NETの方が親和性高いと思う。
393デフォルトの名無しさんsage2007/07/01(日) 00:01:59
NetworkStreamを使ってobjectを流す方法が上手くいかなくて困っています。
以下のようなコードを書いているのですが、
Deserialize部分でStreamにデータが流れていないとのエラーが出ます。

[送信側]

Hage hage = new Hage();

BinaryFormatter bf = new BinaryFormatter();
NetworkStream ns = tcpClient.GetStream();

bf.Serialize(ns, hage);


[受信側]


Hage hage = new Hage();

BinaryFormatter bf = new BinaryFormatter();
NetworkStream ns = tcpClient.GetStream();

hage = (Hage)bf.Deserialize(ns);



この記述じゃStreamに流れないのでしょうか。
ご助言願いたいです。
394デフォルトの名無しさんsage2007/07/01(日) 00:02:32
>387
すまん、綴りミスってた。
UsedRangeだ。
395387sage2007/07/01(日) 00:38:54
>>394
ありました!
どうもありがとうございます!
396デフォルトの名無しさんsage2007/07/01(日) 00:42:18
>>393
あんた、なんと言うかセンスないよ。
よく考えてみろよ。

それで出来たら送受信のタイミングとかどうやってると思うんだ?
397デフォルトの名無しさんsage2007/07/01(日) 00:51:19
その辺はうまくやってくれないと困ります。
398デフォルトの名無しさんsage2007/07/01(日) 01:04:13
勝手に困ってろ。
簡単に困ると書くな。
努力しろ。
考え直せ。
何度でもやり直せ。
試せ。
399デフォルトの名無しさんsage2007/07/01(日) 01:21:54
その前にこれが気になる。
>bf.Serialize(ns, hage);
コンピュータやバイナリを勉強しなおしたほうがいいぞ。
400デフォルトの名無しさんsage2007/07/01(日) 01:23:57
>>396-398
行き詰ってつい書き込みをしてしまいました。スレ汚しすみませんでした。
送受信のタイミングについてもう少し調べてみます。
401デフォルトの名無しさんsage2007/07/01(日) 01:27:23
>>399
レス有難うございます。
binary部分ももう一度勉強しなおします。
402デフォルトの名無しさんsage2007/07/01(日) 01:28:33
いや、その前に接続しているのか?
まさかそのコードだけじゃないよな?
403デフォルトの名無しさんsage2007/07/01(日) 01:38:43
>>402
TcpClientとTcpListenerで接続するようにしました

[送信側]
TcpClient tcpClient = new TcpClient(address, port);


[受信側]
TcpListener tcpListener = new TcpListener(address, port);
tcpListener.Start();
TcpClient tcpClient = tcpListener.AcceptTcpClient();
404デフォルトの名無しさんsage2007/07/01(日) 01:50:57
ちなみに>>397を書いたのは別人だ。
冗談だったんだが白状しておく。
405デフォルトの名無しさんsage2007/07/01(日) 01:51:43
そのままでも動くんじゃないの?
406デフォルトの名無しさんsage2007/07/01(日) 01:54:47
回答も初心者だろうね。
407デフォルトの名無しさんsage2007/07/01(日) 01:55:51
>>404
そんなんして楽しいんか?
408デフォルトの名無しさんsage2007/07/01(日) 02:21:25
>>407
だまれカス
409デフォルトの名無しさんsage2007/07/01(日) 02:46:45
ちょっと聞きたいんだが、
System.Drawing.Icon appIcon = System.Drawing.Icon.ExtractAssociatedIcon( ファイルパス );
で、ファイルに関連づけられたアイコンが取得できるけど、これをListImage経由でListViewに追加したんだ。
けど、ListViewに表示されるイメージって、アイコンに入ってる16*16とかを使うじゃなくて、32*32を拡大縮小して
使うのか?
imagelistのサイズを16*16にしたら、32*32のアイコンを縮小した奴が表示されたよ。
これどうにかならない?
410デフォルトの名無しさんsage2007/07/01(日) 03:10:42
そっちは一番最初のアイコンが返るっぽ。
サイズ指定したいときは
http://www.atmarkit.co.jp/fdotnet/dotnettips/280getappicon/getappicon.html
411デフォルトの名無しさんsage2007/07/01(日) 14:51:01
>>410
サンクス。
そうかAPIしかないか。
試してみたらできたよ。ありがとう。
しかし、APIにしかできない事ってまだまだ多いな。
412デフォルトの名無しさん2007/07/01(日) 15:57:01
バイナリファイルの書き込みを行いたいのですが、
必ず4バイトずつになってしまうんです。

bwr.Write(13);
bwr.Write(10);
例えば、これで改行をさせたいのですが
00 00 00 0D 00 00 00 0A
と書き込まれてしまいます

どうすれば良いのでしょうか?
よろしくお願いします。
413デフォルトの名無しさんsage2007/07/01(日) 16:00:48
>>413
13や10がint32
414デフォルトの名無しさんsage2007/07/01(日) 16:04:28
↑byteでキャストして Write((byte)13) とか。知らんけど。
415デフォルトの名無しさんsage2007/07/01(日) 16:04:32
自分に回答
416414sage2007/07/01(日) 16:06:36
リロ忘れて邪魔してすまんかった。
417デフォルトの名無しさんsage2007/07/01(日) 16:20:31
出来ました、ありがとうございます
418デフォルトの名無しさんsage2007/07/01(日) 16:53:08
またもやすみません、追加です。

今度は桁数のある文字列のため、
bw.Write(Convert.ToString(数字));
なのですが、桁数や内容にかかわらず、前に 04 や 05 などというのゴミが1ビット入ります。
多分String型が問題だと思うのですが、何を使えばいいのでしょうか;
419デフォルトの名無しさんsage2007/07/01(日) 16:53:52
>>418
ゴミじゃねえよ、MSDN読め。さもなくば、死ね
420デフォルトの名無しさんsage2007/07/01(日) 16:54:32
>>418
追加ってなあ;
421デフォルトの名無しさんsage2007/07/01(日) 17:06:25
>>418
その前に、
なんでバイナリなんだ
お前レベルだとテキストのほうがお似合い。
422デフォルトの名無しさんsage2007/07/01(日) 17:24:44
つかStreamのままじかに書き込め、書き込みたいことをそのまま。
423デフォルトの名無しさんsage2007/07/01(日) 17:26:07
エンコード変えとけよ
シフトJISに。
424デフォルトの名無しさんsage2007/07/01(日) 17:27:37
NHKの怖いおねえさんでも見とけ。
425デフォルトの名無しさんsage2007/07/01(日) 17:29:18
もちろん誤爆

陸上の選手怖いいい
手拍子も要求するし…
426デフォルトの名無しさんsage2007/07/01(日) 17:31:23
次は文字コードについて聞かれるに1000won
427デフォルトの名無しさんsage2007/07/01(日) 17:31:28
>>421
テキストなめんな
428デフォルトの名無しさんsage2007/07/01(日) 20:14:28
人気ものだな>>418
429デフォルトの名無しさんsage2007/07/01(日) 20:16:08
なんで素直にシリアライザを使わない
430デフォルトの名無しさんsage2007/07/01(日) 20:19:11
シリアライザってプロパティの増減に対処できないから糞杉
INIファイルのが9566倍まし
431デフォルトの名無しさんsage2007/07/01(日) 20:23:17
おもしろいかなあ?
432デフォルトの名無しさんsage2007/07/02(月) 02:40:54
回答もしないで悪口言ってる奴って回答できないけど文句言いたいだけちゃうんかと
433デフォルトの名無しさんsage2007/07/02(月) 03:04:21
>>432
ここ2〜3日そんな感じだな
まともな回答出てないし
434デフォルトの名無しさんsage2007/07/02(月) 04:22:25
C#の中級者以上が読むといいような書籍ってありますか?英語でもかまいません。
C++でいえばEffective C++のようなポジションですかね?
Effective C#っていう本があるようですが読まれた方はいますか?
435デフォルトの名無しさんsage2007/07/02(月) 04:35:05
>>434
『プログラミングMicrosoft .NET Framework 第2版』
436434sage2007/07/02(月) 04:54:47
>>435
さっそくレスどうもです。
アマゾンのレビューを見た限りでは、その本はどちらかといえばC#というより
.NET Frameworkの仕組みが主みたいですね。Frameworkに関する本は既に読んだので、
今度はプログラミングの視点から見た書籍がないかなと思った次第です。
あとやや古めなのも気になりますね。2.0の機能はぜひカバーしてほしいところです。
437デフォルトの名無しさんsage2007/07/02(月) 05:24:43
第2版
438434sage2007/07/02(月) 05:49:36
>>437
2.0の機能に関してはカバーされてたみたいですね。失礼しました。
439デフォルトの名無しさん2007/07/02(月) 11:58:25
VS.NET 2005 C# で質問があります。

以下のような列挙方で定義されているものとします。
private enum hoge {
  piyo1 = 0,
  piyo2,
  piyo3
}

ドキュメント・コメントを以下に定義しました。
  /// ホゲります。
  /// パラメータです。hoge列挙型を使用してください。
  void hogering(int p)
  {
    :
    :
  }

この状態で、
  hogering(
と入力すると説明文が出てきますが、これを更に発展させまして、
  hogering(
と入力した時点で自動的に
  hogering(hoge.
まで表示させたいと思っています。
確か他のやつで、このように自動的に列挙型が提示されるものがあったかと思います。

これを実現する場合、どのようなタグを使ったらよいでしょうか?
よろしくお願いします。
440デフォルトの名無しさんsage2007/07/02(月) 12:03:54
void hogering(int p)
{
  :
  :
}void hogering(hoge p)
{
  hogering((int)hoge);
}

こうしているだけじゃないか?
441デフォルトの名無しさんsage2007/07/02(月) 12:04:47
マジックナンバーやめれ
hogering(hoge)だけでおk
442デフォルトの名無しさんsage2007/07/02(月) 12:11:39
何のための列挙型だよ。
hoge型で引数取れ。
4434392007/07/02(月) 12:12:01
>>440-441
できました!ありがとうございます!
444デフォルトの名無しさんsage2007/07/02(月) 12:12:53
フラットよりも低いな
4454392007/07/02(月) 12:13:01
>>442
そうですね。基本がなってないです。
446デフォルトの名無しさんsage2007/07/02(月) 13:33:30
質問者も回答者もスレの区別してないんだし仕方ない
447デフォルトの名無しさんsage2007/07/02(月) 14:05:38
WIN32APIだとDragDropするときに複数のデータタイプを登録できたように思うんだけれど、.NETだとそのままだと無理?
DragDropはじめるときに文字列とかファイルとか複数登録しておいてクライアントの都合のいいデータを取るようにしたかったんだけど・・・
448デフォルトの名無しさんsage2007/07/02(月) 14:05:53
C#がLispに近づいてきてるってどういうこと?
449デフォルトの名無しさんsage2007/07/02(月) 14:39:51
450デフォルトの名無しさんsage2007/07/02(月) 15:04:19
>>447
DataObject.SetDataでいくらでも
451デフォルトの名無しさん2007/07/02(月) 16:03:50
>>446
それは誰に対して言ってんだ?
452デフォルトの名無しさんsage2007/07/02(月) 16:43:07
質問者と回答者だろ
453デフォルトの名無しさん2007/07/02(月) 16:45:13
C#.NetからExcelの表を作成しています。

文字や数値を表示させる事はできましたが、

線を引く事がまだ出来てないです。

どなたか教えてください。
454デフォルトの名無しさんsage2007/07/02(月) 16:50:37
>453
http://pc11.2ch.net/test/read.cgi/bsoft//
455デフォルトの名無しさん2007/07/02(月) 16:57:46
VBAのマクロで線書いてそれ参考に
456デフォルトの名無しさんsage2007/07/02(月) 17:09:06
それで苦しむなら望むところ^^
457デフォルトの名無しさんsage2007/07/02(月) 17:16:52
458デフォルトの名無しさんsage2007/07/02(月) 18:00:29
質問があります。
いまダイアログAとダイアログBがあります。
今度新たにタブを使ったダイアログCとDを作ろうと思ってるんですが、
CとDの最初のタブにはダイアログAとBと同じものにしたいと思ってます。
CとDができれば、AとBはもう必要ありません。

この様な場合どのようにするのが理想的なのでしょうか?
459デフォルトの名無しさんsage2007/07/02(月) 18:06:21
TabControl.TabPagesでAとBのTabPageを取得して
CとDに追加すれば
460デフォルトの名無しさんsage2007/07/02(月) 18:11:04
普通にコピーしろ
461デフォルトの名無しさんsage2007/07/02(月) 18:18:47
AとBの中身をユーザコントロールにするのがいいと思うよ
462デフォルトの名無しさんsage2007/07/02(月) 18:39:33
AとBにTabControl追加して中身をtabPage1にドラッグドロップするだけじゃね?
463デフォルトの名無しさんsage2007/07/02(月) 18:45:20
芸がない。
464458sage2007/07/02(月) 18:47:41
ありがとうございます。

とりあえずユーザーコントロールでやってみたいとおもいます。
難しそうですが、これなら他のタブは共通で使えそうですので。
465デフォルトの名無しさんsage2007/07/02(月) 18:48:02
>>458
public partial class Form1 : Form
{
FormA formA = new FormA();
FormC formC = new FormC();
public Form1()
{
InitializeComponent();
Control c = formA.Controls["panel1"];
formA.Controls.Remove(c);
TabControl tabControl =(TabControl) formC.Controls["tabControl1"];
tabControl.TabPages[0].Controls.Add(c);
formC.ShowDialog();
}
}

FormAにDock=Fill したpanel1を置いて、コントロールは全てその中に配置。
panel1 を FormAから取り外して、FormCのTabPageに追加する

あとは同じようにBとDでやりゃOK
466デフォルトの名無しさんsage2007/07/02(月) 18:51:00
そもそも458の日本語がよくわからん。

普通に読めば、FormAをTabPageを使うように改造すれば済む話に思うんだが、
なんでわざわざ新たにFormCを作ってAを破棄する必要があるんだ?

それに質問のために書く文章としてはとりあえずFormAだけ書けば必要十分に思えるのに、
どうしてわざわざFormBまで俎上にあげて話を必要以上にややこしくするのだ?

そもそもWindows Formの話なんだろうかこれ
467デフォルトの名無しさんsage2007/07/02(月) 19:02:39
タブを別ウインドウとして分離できるようにしたいんじゃないの
本気でやろうとしたらかなり根本的なとこから作らないといけないけど
468デフォルトの名無しさんsage2007/07/02(月) 19:14:22
ああなるほどVSのIDEのドッキングウィンドウ(?)みたいなことやりたいのか。
確かにいろいろ手間がかかりそうだ。

しかし、それが正しいとしたら>>458の文章かれその内容を読み取るって
エスパーにしか思えないすごい能力だなw
469458sage2007/07/02(月) 19:14:29
>>465
ありとうございます。それもかっこいいですね。
panelにおけばコントロールとして扱えるんですね。
やってみます。
470デフォルトの名無しさん2007/07/03(火) 17:55:04
質問があります。
VS 2005 C#

string s = "2007/6";
DateTime dt;
DateTime.TryParse(s, out dt);

このようにすると、dtには2007/6/1の日付が返されますが、
2007/6/0という値を返すことは可能でしょうか?
可能だとしたらどうすれば良いでしょうか?
よろしくお願いします。
471デフォルトの名無しさんsage2007/07/03(火) 17:57:02
そんな日付はありません、としか。
472デフォルトの名無しさんsage2007/07/03(火) 18:12:48
クラス自作しろ
473デフォルトの名無しさんsage2007/07/03(火) 18:25:47
>>470
んなもん普通は加工するにきまってんだろ

s = dt.ToString("yyyy/M") + "/0";
474デフォルトの名無しさんsage2007/07/03(火) 19:02:01
なんでそんな処理が必要なのか知りたいな
475デフォルトの名無しさんsage2007/07/03(火) 20:39:45
もうふらっとだけでいいのかな…
476デフォルトの名無しさんsage2007/07/03(火) 20:47:27
二つある必然性ないよね
477デフォルトの名無しさんsage2007/07/03(火) 21:00:36
×必然性
○必要性
478デフォルトの名無しさんsage2007/07/03(火) 21:07:32
google で C# って検索してもうまくいかない。"C#"でもうまくいかない。
どうすりゃgoogleでC#検索できるの?
479デフォルトの名無しさんsage2007/07/03(火) 21:10:00
普通に検索すればいいだけのはずなんだが
480デフォルトの名無しさんsage2007/07/03(火) 21:11:10
うちでは何の問題もないけど?
481デフォルトの名無しさんsage2007/07/03(火) 21:13:01
>>478
エンコードがShifut-JISになってない?
482デフォルトの名無しさんsage2007/07/03(火) 21:15:48
あっ。すみません出来ました。
unDonutの検索バー(google検索)使ったからダメだった用です。
普通にgoogleページ内の検索のところに書いたら検索できました。
お騒がせしました。
483デフォルトの名無しさんsage2007/07/03(火) 21:16:00
>>481
そんなものにはなってない
484デフォルトの名無しさんsage2007/07/03(火) 21:19:36
>>482
つーことはShift-JISになってたんだろ
設定を見直せ
485デフォルトの名無しさんsage2007/07/03(火) 21:19:43
このスレに限らずブラウザ関連で聞いてくる奴って大抵IE使って無いんだよな・・・
486デフォルトの名無しさんsage2007/07/03(火) 21:20:18
Shift_JISだろ?
487デフォルトの名無しさんsage2007/07/03(火) 21:21:24
今日会社でexcelのVBAのエディタ使わされたんだけど、なにもかもが最悪だった。
VS2005のない状況がこんなに辛いなんて…

逆に人間が退化しているのか?
488デフォルトの名無しさんsage2007/07/03(火) 21:23:44
たまにTeraPadでコード書くとVSの有難さがわかるな
489デフォルトの名無しさんsage2007/07/03(火) 21:24:49
まあbasicのコード書いたの十数年ぶりだったのもあるけど。
まさかbreakがないなんて…
GOTOも久しぶりに使った。
490デフォルトの名無しさんsage2007/07/03(火) 21:25:33
OpenOfficeのマクロエディタは更に酷いらしい
491481,484sage2007/07/03(火) 21:27:00
>>482
書き方がぶっきらぼうだった。
search.iniを開いて「Encode=3」でunDonutの検索窓でも普通に使えるようになる
492デフォルトの名無しさんsage2007/07/03(火) 21:27:14
スレ違いですよと
http://pc11.2ch.net/test/read.cgi/tech//
493デフォルトの名無しさんsage2007/07/03(火) 21:29:02
>>489
break相当のステートメントは普通にあるよ。
無いのはcontinueにあたるもの。
494デフォルトの名無しさんsage2007/07/03(火) 21:32:20
>>493
そうなのか。
タイプミスしていたのかな?
ステートメントは入力候補にでてこないしなあ
495デフォルトの名無しさんsage2007/07/03(火) 21:36:36
VBスレ行けよ
496デフォルトの名無しさんsage2007/07/03(火) 21:46:22
VC#でオートメーション使ってexcelを操作という流れに…
497デフォルトの名無しさん2007/07/04(水) 02:42:43
MSDNフォーラムにも質問したんですが、ここでも質問さしてください。
DataGridViewにCheckBoxやButton、TextBoxを配置し
て実行時にTextBoxに入力等をして、入力値をXMLにシリアライズで保存し
次開くときに増えたRowの分を最初(フォームロード時)
にRowCountで設定して、保存したXMLを読み込んで
データを表示させ、データ自体はちゃんと読み込めて
表示もされるのですが、最終行のいわゆる未入力の行のButton列の
Buttonの背景?が透けてしまいます。
透けるというのは、DataGridView表示時のその未入力の行のButtonの
ある場所のウィンドウのzオーダー一つ奥の画像がそのままButtonの背景?
表面?に映し出されてしまいます。
何か、設定しとく必要があるんでしょうか。
すいませんが、教えてください。
498デフォルトの名無しさんsage2007/07/04(水) 05:10:11
マルチ乙
499デフォルトの名無しさんsage2007/07/04(水) 07:39:35
同期インデックス(lockステートメントで使うやつ)が各オブジェクトごとに存在するのはなぜですか?
同期インデックスを格納するための値型(参照型でもいいですが)を用意して、
その型に対してlockすれば十分のように思うのですが。
各オブジェクトごとに4バイトというのは実際どれくらいの割合に相当するのか分かりませんが、
節約できるならするに越したことはないんで何かしら理由があるんでしょうか。
500デフォルトの名無しさんsage2007/07/04(水) 08:13:00
C#はMacでも使用できる言語なんですか?
Macで使用できる言語ならC++(今現在)の次はC#勉強しようと思ってるんですがどう思いますか?
501デフォルトの名無しさんsage2007/07/04(水) 08:26:14
>>500
使えるっちゃあ使えるけど非標準的な環境がないと実行できないから勧めないよ
502デフォルトの名無しさんsage2007/07/04(水) 08:59:35
>>500
Macでもできる
自分で使うプログラムを作るならmonoを入れてC#を勉強してもいいと思う
でも他人のMacに実行環境が入ってる事は期待しない方がいい
Windowsなら大体のPCに実行環境が入ってるけど
503デフォルトの名無しさんsage2007/07/04(水) 09:56:38
IDEやWindows.FormやWPFなんてどうせ動かないんだろ。
なんか公開したところでマカに袋叩きにされるのがオチだろw
504デフォルトの名無しさんsage2007/07/04(水) 10:01:31
うわー
505デフォルトの名無しさんsage2007/07/04(水) 10:23:24
>>503
>>503
>>503
>>503
>>503
>>503
506デフォルトの名無しさんsage2007/07/04(水) 14:06:06
>>499
動機インデックスってなんね?

>同期インデックスを格納するための値型(参照型でもいいですが)を用意して、
>その型に対してlockすれば十分のように思うのですが。

動作が遅くなっても正常に動けばいい、というのであればそれでもOKかもしれませんね。
507499sage2007/07/04(水) 15:19:57
>動機インデックスってなんね?
どういう実装かは知りませんがなにやら同期(lock)のために使うメモリ領域へのインデックスだそうです。

>動作が遅くなっても正常に動けばいい、というのであればそれでもOKかもしれませんね。
「オブジェクトのデリファレンス→同期インデックスの取得」という処理のうちデリファレンスが省けるので
速くはなっても遅くはならないと思いますが。
508デフォルトの名無しさんsage2007/07/04(水) 15:28:59
>>499
プログラミング.NET Framework 第2版でメリット・デメリット
一通り解説されてるから読んでみたら?
509499sage2007/07/04(水) 16:11:59
>>508
おお、そうなんですか。
近いうちに立ち読みしてきます。
510デフォルトの名無しさんsage2007/07/04(水) 17:32:00
>>501-503
Macは実行環境入ってないんですか・・・
友人にMac使ってる人が多いので勉強しようと思ったんですが入れてもらう必要がありそうですね
とりあえずC#を勉強してみたいと思います
ありがとうございました
511デフォルトの名無しさんsage2007/07/04(水) 17:36:41
なんでわざわざ
今から勉強始めるんだったらJavaにしとけよ
512デフォルトの名無しさんsage2007/07/04(水) 17:38:03
>>507
たとえば、トイレ全体ではなくて個々のトイレ毎に排他制御ができないと、
誰かがどこかのトイレを使っている場合には、空いている他のトイレも使えない
ということになる。

永遠に待てるならこれは問題にはならないけど、普通は「個々のトイレ毎に排他
すればいいんじゃね?」となるわな。
513デフォルトの名無しさんsage2007/07/04(水) 17:40:10
>>510
Windowsで作ったものをMacで動かそうとしてるなら
フォントとかパスとかの扱いに注意しながら作ろう
514デフォルトの名無しさんsage2007/07/04(水) 17:57:19
>>512
排他の代わりに排泄したらどうでしょうか?
515デフォルトの名無しさんsage2007/07/04(水) 18:02:10
面白くないよ
516デフォルトの名無しさん2007/07/04(水) 18:41:02
>>515
ごめ・・・おれ少しだけ吹いた
517デフォルトの名無しさんsage2007/07/04(水) 18:54:20
次の患者さんどうぞ〜
518デフォルトの名無しさんsage2007/07/04(水) 18:56:49
>>512
意味分かってねーな?
例えばMutexみたいに、インスタンスとして使う同期用クラスがあればいい話だ。
そうなってないのは良くなかったと、件の本にはっきり書かれてる。
519デフォルトの名無しさんsage2007/07/04(水) 19:06:42
何を言ってるんだいったい?
意味がさっぱりわからんがエスパー同士の会話なのかなw
520デフォルトの名無しさんsage2007/07/04(水) 19:12:55
C# でCのDLLを利用したいのですがどのようにしたらいいのでしょうか・・・

C側
------------------------------------
int WINAPI Create(char* Map, int Width, int Height, char* Field, int x,int y,int x2,int y2, int r)
{
//
}
C#
------------------------------------
[DllImport("util.dll", EntryPoint = "Create", CharSet = CharSet.Auto)]
public static extern int CreateNearMap([MarshalAs(UnmanagedType.Error)] ref byte[] cr1, int cr2,
int cr3, [MarshalAs(UnmanagedType.LPArray)] ref byte[] cr4, int cr5, int cr6, int cr7, int cr8, int cr9);
-------------------------
int Ret = Win32.CreateN(ref Map[aNum], 10, 10,
ref Byte[aNum], 0, 0, 0, 0, 7);

よろしくおねがいします・・
521デフォルトの名無しさん2007/07/04(水) 19:14:58
C++でマネージドなラッパクラスかけ
522デフォルトの名無しさんsage2007/07/04(水) 19:16:31
>>520
何を思ってUnmanagedType.Errorなんか使ってるんだ…?
523デフォルトの名無しさんsage2007/07/04(水) 19:21:19
>>522
どこかでLPArrayがErrorに書き換わってたみたいです・・・・
524デフォルトの名無しさんsage2007/07/04(水) 19:54:33
>>499
>各オブジェクトごとに4バイトというのは実際どれくらいの割合に相当するのか分かりませんが、
オブジェクトの管理番号(ポインタというのか参照の値と呼ぶのか良くわからないけど)を
そのまま使ってると思うから、スペースは消費してないのでは?

>>518
それは思った。せっかくMonitor機能をobjectから別クラスに分離してるのになんでstaticクラスなのかと。
525デフォルトの名無しさんsage2007/07/04(水) 20:14:04
質問です。
マルチスレッドで、メインとは別のスレッドからフォームを操作する場合
Invoke で Delegate を呼び、Delegate の中でフォームを操作するじゃないですか。
その時 Invoke は、メインスレッドでの動作になる?と思います。
この場合マルチスレッドの恩恵は受けられないという理解でいいですか?
526デフォルトの名無しさんsage2007/07/04(水) 20:17:15
とりあえず一通り勉強してから不明点を質問すべき、という理解でいいよ。
冗談抜きでろくに理解せずにスレッドなんか使うと痛い目みるよ。
527デフォルトの名無しさんsage2007/07/04(水) 20:38:50
俺も初心者の頃、スレッド立てて痛い目にあったなぁ…ニュー速で
528デフォルトの名無しさんsage2007/07/04(水) 20:46:28
>>525
Invokeだと同期をとるから、delegate関数呼び出している間中は
マルチスレッドの恩恵は受けられない
529デフォルトの名無しさんsage2007/07/04(水) 20:55:59
lockを使うと同期されてしまうのですが、
これではマルチスレッドの恩恵は受けられないのですね!
530デフォルトの名無しさん2007/07/04(水) 21:39:01
質問が2つあります。

アホな質問ってのは重々承知なんですけど、
  foreach(…)
    foreach(…)
      if(…)
        double_break;
2重のループを一気に抜ける方法はあるでしょうか?

以下のようにループ判定→フラグ立てという処理の、もっとカッコイイ書き方あるでしょうか?
  bool f = false;
  for(…) {
    if(…) {
      f = true;
      break;
    }
  }
  if(f)
    …
531デフォルトの名無しさんsage2007/07/04(水) 21:40:36
>>530
goto
532デフォルトの名無しさんsage2007/07/04(水) 21:44:13
gotoは可読性が低くなるのであまり使いたくない技だなぁ
533デフォルトの名無しさんsage2007/07/04(水) 21:46:19
他の方法の方がよっぽどか可読性が低くなってると思うのだが。
534デフォルトの名無しさんsage2007/07/04(水) 21:46:52
yeild
535デフォルトの名無しさんsage2007/07/04(水) 21:51:34
多重ループからの脱出は使っていいとされてるけどな。
使いたくなければ、2重ループの部分をメソッドにしてreturnとbreakを使い分けるとか。

VBだとExit For とExit DoとWendが使い分けできて微妙に何とかなったりする。
536デフォルトの名無しさんsage2007/07/04(水) 21:52:43
関数にして return という方法もなくはない。
537デフォルトの名無しさんsage2007/07/04(水) 22:21:31
>530
この部分だけJavaのラベル付きのforがあったらいいかもと思うことがある。
やはりメソッドを分けてreturnかな。
538デフォルトの名無しさんsage2007/07/04(水) 22:29:14
途中でやめるならforeach使うんじゃないよ!
539デフォルトの名無しさんsage2007/07/04(水) 22:35:38
まさか21世紀のC#でgoto論争とはな・・・
540デフォルトの名無しさんsage2007/07/04(水) 23:05:30
foreachって途中で抜けるの嫌じゃね?
forならループ変数が明記されてるけどforeachだとぱっと見処理される順序が明確じゃないから
541デフォルトの名無しさんsage2007/07/04(水) 23:06:55
あ、でも何らかの条件に合うものをひとつ見つけるって使い方ならそうでもないか
542デフォルトの名無しさんsage2007/07/04(水) 23:14:26
goto使ったら一番綺麗だと思う。
いや、returnが一番か。
543デフォルトの名無しさんsage2007/07/04(水) 23:15:36
ラベルつき break ができれば一番いいのだが。
544デフォルトの名無しさんsage2007/07/04(水) 23:23:17
フラグ立ててラベル付き break するのと、goto found; とかするのとだと可読性はどっこいどっこいか。
switch 文の中のようにラベルは全て fall through 無し、かつ goto は後方への分岐に限定とすれば
スパゲッティにもならずにわかりやすいと思う。
545デフォルトの名無しさんsage2007/07/04(水) 23:42:48
>>543
GOTOとどう違うの?
546デフォルトの名無しさんsage2007/07/04(水) 23:44:38
お前らの浅薄な議論のようなものはもう16777216回ほど外出なので続きはここでやってくれ
gotoを恐れず使う兵共がfinallyや多重breakを語るスレ
http://pc11.2ch.net/test/read.cgi/tech//
547デフォルトの名無しさんsage2007/07/04(水) 23:54:44
>>545
全く関係ない場所へ飛ぶ心配がなくなる。
548デフォルトの名無しさんsage2007/07/04(水) 23:55:27
???
549デフォルトの名無しさんsage2007/07/04(水) 23:57:31
名前つきbreakは現在のループについているラベルにしかジャンプできない。
550デフォルトの名無しさんsage2007/07/05(木) 00:01:07
tryで囲って条件満たしたら適当なものなげてcatch!
551デフォルトの名無しさん2007/07/05(木) 00:02:52
たとえば?
552デフォルトの名無しさんsage2007/07/05(木) 00:11:00
半分冗談だけどやったら出来るはず。
オブジェクト hogeをthrowableにして、

throw hogeで投げて、catch!するだけ。
553デフォルトの名無しさんsage2007/07/05(木) 00:15:37
半分しか冗談じゃないの?
554デフォルトの名無しさんsage2007/07/05(木) 00:22:22
名前つきブロックと名前つきbreakがあれば…
555デフォルトの名無しさんsage2007/07/05(木) 00:25:48
普通にgotoが一番スマートでしょ
556デフォルトの名無しさん2007/07/05(木) 00:27:23
>>555
さすが GO GO GOだけあるなw
だが俺はGOTOは(゚゚)イラネ
557デフォルトの名無しさんsage2007/07/05(木) 00:29:13
throwableってjavaなのか?
558デフォルトの名無しさんsage2007/07/05(木) 00:30:18
必要以上に { } 増やしたくないな
559デフォルトの名無しさん2007/07/05(木) 00:43:45
dataGridView1 の表をまるまる dataGridView2
にコピーしたいんですけどどうすればいいですか?
560デフォルトの名無しさんsage2007/07/05(木) 00:54:35
いいかげんgotoの低レベルな話題はくだらんな、と思いつつ自分も乗っかっちゃうんだけど、
羹に懲りて膾を吹くというか、gotoの使用そのものが害悪だと思ってる単細胞な人間って
案外いるんだよね。

それは「goto悪玉論」が本で読んだ知識でしかなく、自分の実体験に基づいてないからだろうけどさ。
561デフォルトの名無しさんsage2007/07/05(木) 00:56:38
dataGridView2 = dataGridView1;
562デフォルトの名無しさん2007/07/05(木) 01:01:37
>>561
ちょっw
それ参照www
563デフォルトの名無しさんsage2007/07/05(木) 01:11:36

for(int i=0; i for (int j = 0; j < dataGridView1.Rows[i].Cells.Count; j++)
{
if (dataGridView1.Rows[i].Cells[j].Value != null)
{
if (dataGridView1.Rows[i].Cells[j].Value.ToString() == "orz") goto orz; // もういいや・・・
dataGridView2.Rows[i].Cells[j].Value = dataGridView1.Rows[i].Cells[j].Value;
}
}
orz:
MessageBox.Show("コピー終了");
564デフォルトの名無しさんsage2007/07/05(木) 01:20:20
gotoが悪いんじゃない、gotoをちゃんと使えない香具師が悪い
565デフォルトの名無しさんsage2007/07/05(木) 01:25:19
脳内で考えるたから出来るかわからんが

DataTable dt = (DataTable) dataGridView1.DataSource;
dataGridView1.DataSource = dt.Copy();

で駄目かな
566デフォルトの名無しさん2007/07/05(木) 01:38:20
バインドしてたら行けるだろうけど
問題はバインドしていない時だとおも・・・
つうか、そのくらいの定義書いとくべきだろうなぁ…
567デフォルトの名無しさんsage2007/07/05(木) 06:24:38
>>525
Control.BeginInvokeでどうでしょう。

ところでControl.BeginInvokeを使った場合はEndInvokeをペアで呼び出すというのは必須なのでしょうかね?
非同期デリゲートの場合は必須とMSDNに明記されていますが、
WPFのDispatcher.BeginInvokeでは不要。というよりEndInvokeがありません。
Control.BeginInvokeはどちらかと言えば後者に近いからいらない気もします。
Control.BeginInvokeにはコールバックを指定できないのでコールバックでのfire and forgetパターンも使えない。
よくわからないので今のところなるだけControl.Invokeを使うようにしてますが。
568デフォルトの名無しさんsage2007/07/05(木) 06:32:15
EndInvokeを呼び出すのは必須。
でないとリソースが解放されないことがある。
569デフォルトの名無しさんsage2007/07/05(木) 06:38:05
>>568
どこかに記述はありますか?
非同期デリゲートについては見つけましたが、
コントロールへのマーシャリングのケースでは記述が見つかりません。
570デフォルトの名無しさんsage2007/07/05(木) 06:53:32
ごめん。Control.BeginInvokeは違うみたいだった。
http://www.interact-sw.co.uk/iangblog/2005/05/16/endinvokerequired
571デフォルトの名無しさんsage2007/07/05(木) 06:53:35
Control.BeginInvokeでは実際にはいらない。
By プログラミング .NET Framework 第2版
572デフォルトの名無しさんsage2007/07/05(木) 07:10:26
>>570,571
ありがとう。喉のつっかえが取れました。
573530sage2007/07/05(木) 10:04:21
>>531-
いろいろなご意見ありがとうございます
574デフォルトの名無しさんsage2007/07/05(木) 21:51:38
Shell APIのSHGetImageList()に代わるシェル登録アイコンのイメージリスト取得できる関数持ってるクラスってありますか?
DllImportしなきゃだめ?
575デフォルトの名無しさんsage2007/07/05(木) 21:55:08
そういやぁ、XPS関連使ってる人いる?
576デフォルトの名無しさん2007/07/05(木) 22:45:51
WPFのデータバインディングで、
グループ化された複数RadioButtonのインデックスのようなものと、
データソースの整数型プロパティをバインドする手段はないでしょうか?
enumのプロパティをRadioButtonの選択で表示したいんですが…
577デフォルトの名無しさんsage2007/07/05(木) 23:10:38
>>574
ピンボケしろ。自分でピンボケしてイメージリスト取得したクラス作ったけど、おしえてやらねー。
578デフォルトの名無しさん2007/07/05(木) 23:12:42
comdlg32.dll をDellImportして
コモンダイアログをカスタマイズってできますか??
579デフォルトの名無しさん2007/07/05(木) 23:16:49
comdlg32.dllをDllImportの間違いでした。
580デフォルトの名無しさんsage2007/07/05(木) 23:17:38
はい。
581デフォルトの名無しさん2007/07/05(木) 23:19:18
ボタン増やしたりできるんですか?
5825592007/07/06(金) 01:44:25
>>563,565
どうもありがとう。

が、バインドしてない場合のでも教えてほしいです。。
現状dataGirdView1があって、
dataGridView2の方はなんもかかれてない状態で
dataGridView1をコピーしたいんですけど。
オーソドックな方法とかってのはないんですかね。
583デフォルトの名無しさんsage2007/07/06(金) 02:25:05

dataGridView2.Columns.Clear();
for (int i = 0; i < dataGridView1.Columns.Count; i++)
{
dataGridView2.Columns.Add((DataGridViewColumn)dataGridView1.Columns[i].Clone());
}
で列をコピーしてから行をいれるとか
584デフォルトの名無しさんsage2007/07/06(金) 03:05:59
closeしてもセルの内容がnullのままなんだけど。。
(コピー元は記入されてるのに)
なぜ??

585デフォルトの名無しさんsage2007/07/06(金) 03:13:01
closeしてるからじゃね?w



ソースアップしてみたら?
586デフォルトの名無しさんsage2007/07/06(金) 10:35:04
Form クラスで、現在ウィンドウが開いているかどうか取得できるプロパティかメソッドってある?
587デフォルトの名無しさん2007/07/06(金) 10:49:41
ウィンドウが開いているってのは最小化されているかどうかってこと?
それだったらある
588デフォルトの名無しさんsage2007/07/06(金) 11:06:03
>>587
Show() メソッドで開かれているか、ということです。
589デフォルトの名無しさんsage2007/07/06(金) 11:11:40
Visble
590デフォルトの名無しさんsage2007/07/06(金) 11:15:55
>>589
ネ申!
591デフォルトの名無しさんsage2007/07/06(金) 11:27:24
フラットすれよりもレベルが低いぞ
592デフォルトの名無しさんsage2007/07/06(金) 12:08:47
まあ、ふらっと逝けとかMSDN読め、と返すより
答えた方が早い場合もあるから
593デフォルトの名無しさんsage2007/07/06(金) 14:54:31
まぁそういうのは知ってるか知らないかだけだからその人のレベルが低いかどうかとはあまり関係もなかろう。
C#でサーバー周りばっかやってた人はFormのことなんかしらんだろうし。
594デフォルトの名無しさんsage2007/07/06(金) 15:34:45
だがMSDN見ればすぐにわかること。
595デフォルトの名無しさんsage2007/07/06(金) 16:09:40
それを言い出したらこのスレ(ry
596デフォルトの名無しさんsage2007/07/06(金) 16:15:17
なんか >>594 とか見てるとMLの黎明期に
暴れてたカスどもを思い出すな・・・。
597デフォルトの名無しさん2007/07/06(金) 17:28:37
>>594
よう。それを言うためだけにこのスレにきてるのかい?
598デフォルトの名無しさんsage2007/07/06(金) 17:58:52
「自分はMSDNだけで全て理解した、すごいだろ」って言いたいんじゃね?
599デフォルトの名無しさんsage2007/07/06(金) 18:35:34
MSDNだけでは解決できない質問て滅多に無いだろ
600デフォルトの名無しさんsage2007/07/06(金) 18:45:27
まあ俺はむしろ>>595-598辺りの人間がカスだと思う。
全面的に594の言うとおりだよ。

MSDNライブラリ読んでたいていの問題を解決するなんて別に当たり前のことで、
それをすごいなんて思うわけがない。
三流の俺ですらそうなんだから。

>>598なんか自分の馬鹿さ加減を晒しているだけのこと(要するに598はその
当たり前のことが出来ないからそんな風に思うんでしょ)で、非常に恥ずかしいw

少なくとも586レベルの問題を解決できない人間にプログラマの資格も資質もなしといわざるを得ない。
601デフォルトの名無しさんsage2007/07/06(金) 18:47:54
>>600
心配するな、今ではお前が後ろ指指されてるから。
俺も昔はそのカスな言動をよくしていた。

しかしアホゲイツKKが開発すべき方面と言語を不必要に
増やしたからな。お前は「解決出来て当たり前」程度の
仕事しかしてないし、そういう人格に見られてんだよ。
602デフォルトの名無しさんsage2007/07/06(金) 18:49:32
あと>>595の言うように「MSDNみりゃ解決する問題もわからねぇのかよ」
と他人を軽蔑したいんなら、こういうQAスレは絶好の場所だろうな。
603デフォルトの名無しさんsage2007/07/06(金) 18:50:40
なんか本気でいってそうw
そこまでパーだとなんか哀れで突っ込む気もおこらん。
604デフォルトの名無しさんsage2007/07/06(金) 18:52:00
プログラマの資格(笑)
605デフォルトの名無しさんsage2007/07/06(金) 18:55:05
テンプレ
Q. <質問>
A. MSDN読め
606デフォルトの名無しさんsage2007/07/06(金) 18:57:14
>>602
そういうの防衛機制っていうんだよねw

他人を罵倒しようと相手を待ち構えている人間がいるとしても、
罵倒に値する愚劣な行動がなければ罵倒しようがないだろうw

標準的な能力のプログラマであれば調べればすぐわかるはずのことを
質問する行為は罵倒に値するから罵倒されてるんだよ。わかる?

悩んで当然と思うような問題に関する質問であれば罵倒なんてしねえよ。
すくなくとも俺はな。
607デフォルトの名無しさんsage2007/07/06(金) 19:02:53
常識として>>594はこういうスレでは禁句だろ
ただそれだけのこと
608デフォルトの名無しさんsage2007/07/06(金) 19:06:40
>>607
馬鹿で怠惰で非常識な「質問クン」の意見だね。
むしろ594のような態度こそ常識であり、推奨されると思うが。
609デフォルトの名無しさんsage2007/07/06(金) 19:08:35
だったらこんなスレいらないし、わざわざ覗いている理由は何?
610デフォルトの名無しさんsage2007/07/06(金) 19:10:18
すくなくとも「質問クン」に回答して差し上げるためではないのであしからず
611デフォルトの名無しさんsage2007/07/06(金) 19:16:50
>>600
>少なくとも586レベルの問題を解決できない人間にプログラマの資格も資質もなしといわざるを得ない。
つか、このスレってプログラマ専用スレッドなのか?
俺は趣味でやってるだけなんだが・・・
てか、プログラマは少ないんじゃないのか?
612デフォルトの名無しさんsage2007/07/06(金) 19:25:23
ひょっとしてプログラマの「プロ」の部分がprofessionalの略だとか思ってるの?w
613デフォルトの名無しさんsage2007/07/06(金) 19:25:51
趣味でもプログラマには違いない
ただQ&Aスレでプログラマの資格云々を語るのはプログラマ以前の問題
614デフォルトの名無しさんsage2007/07/06(金) 19:27:22
と思いたいんでしょ君が。
そういう性格だから馬鹿なんだよ。
615デフォルトの名無しさんsage2007/07/06(金) 19:31:04
流れ的に職業という意味でのプログラマになると思うんだが・・・
どんだけ読解力ないんだ
616デフォルトの名無しさんsage2007/07/06(金) 19:35:15
>>615
君、中高時代いつも現代国語の成績2以下だったでしょw
617デフォルトの名無しさんsage2007/07/06(金) 19:48:34
人としてのレベルが低いスレ
618デフォルトの名無しさんsage2007/07/06(金) 19:54:32
なんか必死な奴がひとりいるみたいだね。
みなさん、スルーしていきましょう。
619594sage2007/07/06(金) 20:00:33
なんか叩かれててワロタ。
人の言ってることを理解できない奴って意外と多いんだな。
620デフォルトの名無しさんsage2007/07/06(金) 20:04:37
君の言いたい事ってなんだっけ
621デフォルトの名無しさんsage2007/07/06(金) 20:17:35
もう全員ふらっと逝けよ
622デフォルトの名無しさん2007/07/06(金) 20:36:53
SADでも必死に会社に行っている人[メンタルヘルス]

ふ〜ん。社会不安障害の人がいるのかぁ。
辛いんだろうなぁ。視線恐怖症だったら最強。
623デフォルトの名無しさんsage2007/07/06(金) 20:38:57
口先だけならなんとでも言えるよな。
そこがネットのいいところだ。
どうせ友達もいない童貞30男なんだろうけれど、哀れ。
624デフォルトの名無しさんsage2007/07/06(金) 21:35:05
>>616
思考回路おかしそうだね
625デフォルトの名無しさんsage2007/07/06(金) 21:50:54
MSDNに書いてあろうがなかろうが(無いことは無いと思うが)ここは相談室
質問無くて回答する気も無くただ文句言いたいだけの香具師はただの荒らし
626デフォルトの名無しさんsage2007/07/06(金) 22:16:53
■ 愚か者の法則(その1)

馬鹿は自分の振りかざす「俺様ルール」を自分に適用できない。
627デフォルトの名無しさんsage2007/07/06(金) 22:34:01
このスレいっつもこんな感じだよなw
628デフォルトの名無しさんsage2007/07/06(金) 22:54:59
そうでもないよ
629デフォルトの名無しさんsage2007/07/07(土) 00:49:01
なんでこんなスルーできないやつばっかなの
630デフォルトの名無しさんsage2007/07/07(土) 01:06:23
.NET関連のスレに対して
スレ違いだが巧妙に反論を誘うレスをして荒らす気違い来襲中!!!!!
631デフォルトの名無しさんsage2007/07/07(土) 04:07:10
どうせいつものヤツだろ
632デフォルトの名無しさんsage2007/07/07(土) 11:15:20
そんな流れの中悪いのですが質問です。

チェックボックスのenableをフォルスにした時に、テキストの文字色だけを赤にすることって出来ませんか?
633デフォルトの名無しさんsage2007/07/07(土) 11:20:09
>>632
CheckedChangedイベントでForeColorを変更すれば十分じゃない?
6345592007/07/07(土) 16:41:42
dataGridView1は初期化&値セット済み
dataGridView2は初期化、カラムヘッダーをセット済み。

foreach (DataGridViewRow row in dataGridView1.Rows)
{
dataGridView2.Rows.Add((DataGridViewRow)row.Clone());
}

これでdataGridView1をdataGridView2にコピーできてるつもりなんですけど出来ません。
何が間違ってるんでしょう?
635デフォルトの名無しさんsage2007/07/07(土) 17:27:21
>>634
ttp://msdn2.microsoft.com/ja-jp/library/system.windows.forms.datagridviewrow.clone(VS.80).aspx
>Clone メソッドは、行とそのプロパティ値をコピーしますが、行に含まれるセルの値はコピーしません。
636634sage2007/07/07(土) 19:46:10
ぶひ
1セルずつコピらなきゃいけないのか。。
ありがとう〜
637458sage2007/07/07(土) 23:12:50
フォームアプリに於いて自分でCtrl+Cなどのショートカットキーを実装する場合
どこに書けばよいのでしょうか?

keydownイベントだとHandled = trueしてもビープ音が鳴ったりするので
ここではないと思うんですが。
638デフォルトの名無しさん2007/07/07(土) 23:22:01
フォームのプロパティ見てみ?
ショートカットキー
639デフォルトの名無しさんsage2007/07/07(土) 23:24:03
いや、というかメインメニューに割り当てればいいじゃん普通に。
どうせメニューぐらいつけるんでしょ?
640458sage2007/07/07(土) 23:31:03
フォームにWebBrowserがあり、これがフォーカスを持っていると
メニューに割り当てたショートカットキーがきかなくなってしまうので、
これがうまく動けばメニューに付けてもいいのですが
これを解決する方法はあるのでしょうか?
641デフォルトの名無しさんsage2007/07/07(土) 23:37:45
ゴリゴリやりたいならProcessCmdKeyをオーバーライド。
642デフォルトの名無しさんsage2007/07/07(土) 23:41:43
ProcessCmdKeyでゴリゴリやってると
悪いことしてる気がしてしょうがない
643デフォルトの名無しさんsage2007/07/07(土) 23:48:56
FormのKeyPreviewをTrueにするだけでできそうな気もするけど違ったっけ?
644458sage2007/07/08(日) 00:04:54
ありがとうございます。ProcessCmdKeyでやってみようと思います。
>>643
それも試した記憶がありますが、WebBrowserには無力だった記憶があります。
645デフォルトの名無しさんsage2007/07/08(日) 00:37:36
>642
KeyDownやKeyPressやKeyUpでごりごりやるのに比べれば何倍もましだから。
646デフォルトの名無しさんsage2007/07/08(日) 06:45:59
複数の名前空間をグループ化することはできないでしょうか?
これは仮の構文ですが、namespace abc={a,b,c};でインテリセンスでa,b,cすべて列挙できて、
using abc;がusing a;using b;using c;と同じ意味になるようなもの。

もうひとつ質問ですが、
VBではインテリセンスのポップアップにフィルタ機能がついているんですが、
C#でそれを実現できないでしょうか?
647デフォルトの名無しさんsage2007/07/08(日) 08:05:18
お世話になっております。質問です。
タブページのTextを左よりにしたいのですが、
どうすればいいのでしょうか?

タブの幅を全部同じにしたとき、左がそろうようにしたいです。
648デフォルトの名無しさんsage2007/07/08(日) 08:56:48
>>646
マクロでも使え
649デフォルトの名無しさんsage2007/07/08(日) 09:23:46
XPのデフォルトのテーマ上で、ツールバーのメニューの色が青って
おかしくないですか?
650デフォルトの名無しさんsage2007/07/08(日) 09:24:55
ツールバーのメニュー

ツールバーとメニュー
です。

なんかほかのアプリはこんな色じゃないし
651デフォルトの名無しさんsage2007/07/08(日) 09:30:04
あれはの、Visual Studioデザインなんじゃよ
652デフォルトの名無しさんsage2007/07/08(日) 12:05:15
VSの、というか、(名前があるのかどうか知らないけど)MSのデザインの一つなんでしょ。
一つ前のオフィスも同じようなデザインだよね。

確かにあのデザインセンスは俺にも理解できない。
まあ、配色はコンパネで変えられるし、まともな神経のユーザーなら
ルナなんか使わずクラシック表示にしてると思うけど。
653デフォルトの名無しさんsage2007/07/08(日) 12:15:47
くらっしくの横グラデは今見るととても古臭く感じる・・・(´・ω・`)
654デフォルトの名無しさんsage2007/07/08(日) 12:20:47
>>649
Main()に定番の一行。
ToolStripManager.VisualStylesEnabled = false;

>>652
ルナとは関係ない
655デフォルトの名無しさんsage2007/07/08(日) 12:29:27
>>654
関係あるでしょ。実際やってから物言えば?
656デフォルトの名無しさんsage2007/07/08(日) 13:11:00
>>654
ありがとう。直りました
657デフォルトの名無しさんsage2007/07/08(日) 14:22:38
>>654
それより、

ToolStripManager.RenderMode = ToolStripManagerRenderMode.System;

の方がよい。
ToolStripManagerRenderMode.Professionalが規定値みたいだね。
658デフォルトの名無しさんsage2007/07/08(日) 16:45:01
>>655
実際はOfficeがそうしてるんじゃねーの?
659デフォルトの名無しさんsage2007/07/08(日) 16:55:19
UserControl を作ってみましたが、枠線が表示されています。
これを表示しないようにできますか?
660デフォルトの名無しさん2007/07/08(日) 17:09:15
文字列を大量に格納したArrayListを、
全ての要素を連結させた1つの文字列を作りたいんですけど、
foreachでぶんまわして一個一個くっつける以外に効率的な方法ないですか?
661デフォルトの名無しさん2007/07/08(日) 17:09:31
空の構成ファイル(app.config)を作るメソッドってありますか?
ConfigurationManager.CreateConfigure(path);で
新規のConfigureオブジェクトを生成し、取得するようなイメージでありませんでしょうか?
662660sage2007/07/08(日) 17:24:06
Concatでいけました。
663ファイル転送2007/07/08(日) 18:09:45
C#を使用してネットワーク通信でファイル転送を実装していますが、
ファイル自身は正常に転送できるのですが、どうもファイルが壊れているみたいです。ファイルを再生することができません。
ファイルはAVI形式の動画ファイルです。参考に、以下にコードを掲載しますので、わかる方ご指導をお願いします。
664ファイル転送2007/07/08(日) 18:10:19
【ファイル転送コード】
private void newConnect(string filePath)
{
TcpListener newTcpL = new TcpListener(IpAddressGetter.getLocalIpAddr(), this.port + 1);
newTcpL.Start();
Socket newsock = newTcpL.AcceptSocket();

if (newsock.Connected)
{
NetworkStream netStream = new NetworkStream(newsock);
FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);

byte[] bb = new byte[8];
while (fs.Read(bb, 0, bb.Length) != 0)
{
netStream.Write(bb, 0, bb.Length);
netStream.Flush();
bb = new byte[8];
}

// 後処理
fs.Close();
netStream.Close();
newsock.Close();
newTcpL.Stop();
}
}
665ファイル転送2007/07/08(日) 18:13:22
【ファイル受信コード】
///
/// ファイルを受信する
///

private void getFile()
{
// ファイル受信用ポートを開く
int port = this.clientPort + 1;
TcpClient newtcpC = new TcpClient();

newtcpC.Connect(this.clientIp, port);
NetworkStream netStream_n = newtcpC.GetStream();
FileStream fs = new FileStream(this.downFolderPath + @"¥" + downFileName,
FileMode.OpenOrCreate,
FileAccess.Write);
byte[] bb = new byte[8];
while (netStream_n.Read(bb, 0, bb.Length) != 0)
{
fs.Write(bb, 0, bb.Length);
fs.Flush();
bb = new byte[8];
}
MessageBox.Show("ダウンロード完了!");
fs.Close();
netStream_n.Close();
newtcpC.Close();
}
666デフォルトの名無しさんsage2007/07/08(日) 18:18:04
bb.Length
読み込んだサイズと関係なく書き込みしているような?
でも関係ないか。
667ファイル転送2007/07/08(日) 18:19:17
8バイトづつ読み込むんでファイルに書き込みをするようにしています。
ちなみに、MP3は正しく再生されます。
668デフォルトの名無しさんsage2007/07/08(日) 18:20:00
>>663
ネットワークのことはよくわからんが、ファイルサイズはあってるの?
コードを見る限り出力ファイルは必ず8の倍数になる気がするのだが・・・

あと
・ループごとにバッファを再確保してどうする。ものすごい勢いでガーベッジを増やしてる。
・もう少しわかりやすい変数名をつけた方がいい
・もう少し質問文を推敲したほうがいい
669デフォルトの名無しさんsage2007/07/08(日) 18:23:58
なんでそんな細切れに送るんだ?
かなり無駄だろ。
670666sage2007/07/08(日) 18:25:56
readから帰ってくるのは読み込んだバイト数だからそれを使ったら?
でも関係ないかも。
671ファイル転送2007/07/08(日) 18:26:19
やっぱり無駄ですかね?
ちなみにバイト数自体はあっています。
672デフォルトの名無しさんsage2007/07/08(日) 18:28:02
>>665
転送
int c = fs.Read(bb, 0, bb.Length);
netStream.Write(bb, 0, c);
受信
int c = netStream_n.Read(bb, 0, bb.Length);
fs.Write(bb, 0, c);

じゃね?

あと、while の中の
bb = new byte[8];
これいらない
673デフォルトの名無しさんsage2007/07/08(日) 18:30:44
っていうか元のファイルと結果のファイルとが違うってことまでわかってるんだから
少なくともどこがどう違うのかは検証したんだろうね?
まさか調べるのが面倒だから丸投げってわけじゃないよね?
674デフォルトの名無しさんsage2007/07/08(日) 18:30:49
>>663
まずは、ファイル内容比較して、どういう壊れ方してるか確かめろよ。
675デフォルトの名無しさんsage2007/07/08(日) 22:55:08
読み込んだバイト数で保存しないと駄目に決まってる。
※8バイトずつ書き込んでも、8バイトずつ届くとは限らない。

ついでに8バイトごとにフラッシュなんてあほな実装はやめとけ。
676デフォルトの名無しさんsage2007/07/09(月) 10:01:07
>ちなみにバイト数自体はあっています。
どこを見てあってると判断したの?
677デフォルトの名無しさんsage2007/07/09(月) 12:59:50
FoxBinってフリーウェアでバイナリの差分を視覚的に確認できるから、
まずはそれで確認してからだね
678デフォルトの名無しさんsage2007/07/09(月) 15:28:09
質問なんですがVS2005でリソースファイルをpublicする方法って無いでしょうか
679デフォルトの名無しさん2007/07/09(月) 15:31:53
>リソースファイルをpublic
長嶋を彷彿とさせるwwww
どういうことなんだろう?

FriendではなくPublicでほかのプロジェクトからも参照できるということなんだろうか?
680デフォルトの名無しさんsage2007/07/09(月) 15:40:05
共通処理のDLLに共通のメッセージとかをリソースで持たせられないかと思って・・・
Designer.csいじってもコンパイルすると元に戻るからなぁ・・・
681デフォルトの名無しさんsage2007/07/09(月) 16:37:40
FieldInfoを使ってあるインスタンスのフィールドの値を文字列から更新することってできますか?
class Hoge{
long _num;
}
のインスタンスhogeがあるとしてnumFInfoが_numフィールドのFIeldInfoだとします。
string valueStrが値を表す文字列だとして、
ここでnumFInfo.SetValue(hoge,処理ほにゃらら(valueStr))としたいのですが、処理ほにゃららにあたるものってありますか?
numFInfo.FieldTypeより各プリミティブのint.TryParse(valueStr)などに振り分けてもいいんですが、もう少しエレガントな方法がないかと。
682デフォルトの名無しさんsage2007/07/09(月) 16:38:29
バイト数があっていても
バイナリエディタで中身を表示したら 00 の羅列だったとか
683デフォルトの名無しさんsage2007/07/09(月) 16:44:33
Converter
684681sage2007/07/09(月) 17:20:44
Converter.ChangeTypeでいけそうです。さんくすこ。
685デフォルトの名無しさんsage2007/07/09(月) 22:24:55
StackやらQueueってなんでCapacityプロパティないんだろ
内部実装は配列なのに・・・
686デフォルトの名無しさんsage2007/07/09(月) 22:32:18
何に使うの?
687デフォルトの名無しさんsage2007/07/09(月) 22:51:18
入れた順に消費するプール的なもん作ろうかなと思ったんだけど。

関係ないけどList.InsertRangeの実装見てみたら追加する要素ごとにInsertを呼んでる気がするんだが・・・
これってO(元の要素数*追加する要素数)かからない?
まっとうにやればO(元の要素数+追加する要素数)ですむはずだが。
688デフォルトの名無しさんsage2007/07/09(月) 22:53:33
> This method is an O(n + m) operation, where n is the number of elements to be added and m is Count.
689デフォルトの名無しさんsage2007/07/09(月) 23:02:56
>>688
実装はそうなってないと思うんだけど。
まあ一部のケースだけど
690デフォルトの名無しさんsage2007/07/10(火) 00:37:12
Insertの実装を見てから言ってるのか?
691687sage2007/07/10(火) 08:42:51
>>690
もちろんそうだよ。
つかInsertがO(元の要素数)かからないわけないじゃん
692デフォルトの名無しさんsage2007/07/10(火) 08:50:10
ちゃんとICollectionを渡すようにしてれば問題なし。
693デフォルトの名無しさんsage2007/07/10(火) 12:49:33
同じソリューションにEXEのプロジェクトとライブラリプロジェクトがあって、Exeのほうから参照設定をプロジェクトタブから追加したんですが、デバッグ実行しようとするとライブラリのプロジェクトはデバッグ情報ないよといわれてしまいます・・・(´・ω・`)
デバッグ構成はちゃんとあるんですが・・・つかさっきまで普通に実行できてたし。プロジェクト削除、参照削除して追加しなおしても同じ(ノД`)
694デフォルトの名無しさんsage2007/07/10(火) 12:50:46
>>693
クリーンビルドしてみるとかは?
695デフォルトの名無しさんsage2007/07/10(火) 13:17:57
ToolStripMenuItemをいわゆる選択不可の状態にするには
どうすればいいのでしょうか?

Enable = false;だと表示が変わってくれないです。
696デフォルトの名無しさんsage2007/07/10(火) 13:48:54
>>695
Enable = false;
697デフォルトの名無しさんsage2007/07/10(火) 14:13:46
>>693
複数のプロジェクトがあってスタートアップに設定してないほうをデバッグ実行しようとすると
そのエラーがでるときあるな。
698デフォルトの名無しさん2007/07/10(火) 14:49:14
age
699デフォルトの名無しさんsage2007/07/10(火) 14:49:22
>>693
優先度の高いパスにデバッグ情報無しのファイルがあったりしないか
よくあるのは、EXEのプロジェクトの中にコピーした場合、とか。
700172sage2007/07/10(火) 15:14:07
ダイアログの戻り値を変更することって可能?

private void button1_click(object sender, EventArgs e) {

if (validation() == true) {
buttonOK.DialogResult = DialogResult.Cancel;
this.Close();
}
else {
buttonOK.DialogResult = DialogResult.Cancel;
MessageBox.Show("入力エラー");
}
}

みたいな。
701172sage2007/07/10(火) 15:15:04
すいません、上のソースの1行目、
private void button1_click(object sender, EventArgs e) {



private void buttonOK_Click(object sender, EventArgs e) {

です
702デフォルトの名無しさんsage2007/07/10(火) 15:28:32
this.DialogResult = DialogResult.OK;
どうでもいいけど>>172は俺だ
703デフォルトの名無しさんsage2007/07/10(火) 15:38:19
>>702

ごめ、ハンドル残ってた
704703sage2007/07/10(火) 15:39:57
>>172
できました。 ありがとうございます。
705デフォルトの名無しさん2007/07/10(火) 15:54:04
>>172
VB9はFW3.5になるんだっけ?
706デフォルトの名無しさんsage2007/07/10(火) 15:55:21
yes
707デフォルトの名無しさんsage2007/07/10(火) 15:58:10
リビルドオールとかしましたが同じ状態です(´・ω・`)







でもそのままデバッグ続行したらデバッグ情報でてるっぽい(`・ω・´)
VSのバグ?とりあえずししょうがないようなので放置します。お騒がせしました。
708デフォルトの名無しさんsage2007/07/10(火) 16:31:00
お尋ねします。

メインのフォームが他のフォームをShowDialogで呼び出している最中かを
知る方法がありましたら教えてください。
709デフォルトの名無しさんsage2007/07/10(火) 16:31:44
フラグでも立てとけば
710デフォルトの名無しさんsage2007/07/10(火) 16:33:28
ShowDialogしたらメインのフォームからイベントを飛ばすのが
正当なんじゃね
711708sage2007/07/10(火) 16:42:47
メインフォームが他のモーダルなウインドウによって操作できない状態に
なっているか知る方法はありますか?に変えさせていただきます。
すいません。

メッセージボックスも含み、自分が管理できないコードからモーダルウインドウが
出現させられることも含んでできるようにしたいです。
712デフォルトの名無しさんsage2007/07/10(火) 16:50:20
WS_DISABLEかな?
Enabledをfalseにしてもそのスタイルはつくけど。
713708sage2007/07/10(火) 17:01:39
>>712
ありがとうございます。できました。
714デフォルトの名無しさんsage2007/07/10(火) 18:06:17
>707
多分、デバッグ情報がないって言われたのは
ライブラリ側のアセンブリがロードされる前だったんでは?
715α2007/07/10(火) 18:31:55
C言語のプログラムでフラッシュ暗算のプログラムを作りたいのですが軽くアドバイスいて頂ければ嬉しいです。
716デフォルトの名無しさんsage2007/07/10(火) 18:36:18
暗算の前にタイトルをよく見よう
つかあんなもん「あのとおり」に作るだけじゃないか
717デフォルトの名無しさんsage2007/07/10(火) 18:58:09
君には難しいんじゃないか?
だって言葉が通じてないもの・・・
718デフォルトの名無しさんsage2007/07/10(火) 19:00:59
>>715
母国語でおk
719デフォルトの名無しさんsage2007/07/10(火) 19:07:37
「フラッシュ暗算」でググってしまった
720デフォルトの名無しさん2007/07/10(火) 19:07:39
>>718
スワヒリ語ですがよろしいでうか?
721デフォルトの名無しさんsage2007/07/10(火) 19:09:25
追加料金として10万円を頂戴いたします。
722デフォルトの名無しさんsage2007/07/10(火) 19:18:29
希望勸告關於使用C#語言製作閃光心算的程序
723デフォルトの名無しさん2007/07/10(火) 19:29:02
>>722
何かかっけー
724デフォルトの名無しさんsage2007/07/10(火) 20:47:37
閃光心算

技名みたいだ


>>715>>722
とりあえずHello, world から始めるといい
725デフォルトの名無しさんsage2007/07/10(火) 20:55:18
Visual StudioとWindow Form使うってんならそれこそすぐにできるから入門書でも入門サイトでも見るがよろし
726デフォルトの名無しさんsage2007/07/10(火) 20:55:59
電光石火キミのおねしょも止まるだろ〜
727デフォルトの名無しさん2007/07/10(火) 21:08:13
.NET Frameworkで
ファイルダイアログをカスタマイズするのは大変です。
クラスがsealed属性になっているので継承はできません。

マイクロソフトがC#でファイルダイアログのカスタマイズのソースを
公開しているみたいですが、0から作る感じです。
728デフォルトの名無しさんsage2007/07/10(火) 21:11:41
いつから日記スレになったのここ
729デフォルトの名無しさんsage2007/07/10(火) 21:16:34
不満があるなら来るなってこった
730デフォルトの名無しさんsage2007/07/10(火) 21:19:45
>>727
ところで質問は?
731デフォルトの名無しさんsage2007/07/10(火) 21:48:07
>>727がPureマネージコードで柔軟なファイルダイアログを作って公開してくれるそうだ
732デフォルトの名無しさんsage2007/07/10(火) 22:29:25
>>727
できればモーダレスなフォームとしても使える奴を作って欲しい。
よろしく頼んだよ。
733デフォルトの名無しさん2007/07/10(火) 22:47:07
はい
734デフォルトの名無しさんsage2007/07/10(火) 22:47:50
>728
スルーできないなら2ch自体見ないほうがいい
735デフォルトの名無しさんsage2007/07/10(火) 22:49:18
>>727
また来たの?

あなたは定期的に出てくるC++人ですね。
誰かにそのページ紹介してもらってからしばらくいませんでしたね?
c#の勉強はすんだの?

次はC#ではまともなエディタは作れないですよね?
736デフォルトの名無しさん2007/07/10(火) 22:49:37
>>733
本気で待ってるわ
737デフォルトの名無しさんsage2007/07/10(火) 23:19:29
作ってもいいけどでかくなりそうだよね。
後で使い回せるとはいえ
たかがファイルダイアログなのに本体よりでかくなったりしたら。
738デフォルトの名無しさんsage2007/07/11(水) 08:23:27
TabControlのタブページのタブ部分のフォーカスの設定について

この部分がクリックされたとき、フォーカスの四角を表示させない
ようにするにはどうすればいいのでしょうか?
739デフォルトの名無しさんsage2007/07/11(水) 09:20:19
public class SaveFileDialog2
{
}
740デフォルトの名無しさん2007/07/11(水) 10:38:19
const string[] alp = {"a","b","c"};

ということをやりたいのですができません。
どうしたらよいんでしょうか。
741デフォルトの名無しさんsage2007/07/11(水) 11:13:14
フィールドならstring[] alp = {"a","b","c"};
http://msdn2.microsoft.com/ja-jp/library/acdd6hb7(VS.80).aspx
742741sage2007/07/11(水) 11:13:56
肝心のreadonly抜けてたわごめん
743デフォルトの名無しさんsage2007/07/11(水) 11:27:25
WindowsUpdateで.net1.0〜2.0の更新来たな。
なんだかすごいコアなファイルまで置き換わるみたいだけど
大丈夫かよコレ?
744デフォルトの名無しさんsage2007/07/11(水) 16:18:20
>>740
readonlyにしたところで alp[2] = "hoge"; みたいなことは防げないので注意。
これを防ぎたければインデクサにすればいい。
745デフォルトの名無しさんsage2007/07/11(水) 16:27:39
Array.AsReadOnly
746デフォルトの名無しさん2007/07/11(水) 16:28:20
ファイルのリストを作成するアプリケーションを作っているのですが
ローカルエリアネットワーク上の共有フォルダ上のExeを実行すると
System.IO.Directory.GetDirectoriesがセキュリティエラーを出して停止します。

ためしにローカルにコピーしてから使うと問題なく動きました。

1.0/1.1だとセキュリティ設定を変更するツールがあったようなのですが
2.0ではどうやったら、例外が出ないようにすることができるのでしょうか?
747デフォルトの名無しさんsage2007/07/11(水) 20:25:07
前のバージョンみたいなタブコントロールって2.0でなくなったんだっけ?
タブの部分だけをセレクタとして使いたいんだけど…
コンテナなんて要らない。
748デフォルトの名無しさんsage2007/07/11(水) 20:29:14
前からない。
749デフォルトの名無しさんsage2007/07/12(木) 09:00:01
VC#2005Expressってバックアップ機能みたいなものはないのでしょうか?
バックアップというフォルダはあるみたいなのですが…

750デフォルトの名無しさんsage2007/07/12(木) 09:04:22
適当なバージョン管理システムに突っ込んどけ
751749sage2007/07/12(木) 09:59:28
>>750
やっぱCVSかSubversion必須ですか・・・

時間がある時に導入してみます。

暫くはプロジェクトフォルダ毎にコピーします。
ありがとうございました。
752デフォルトの名無しさんsage2007/07/12(木) 10:42:49
自作のソフトからPDFを選んで表示できるように、
コマンドラインからAcrobat Readerを呼び出そうと思っているのですが、
Readerのインストール先を取得するのに、レジストリの設定値を読みだしても問題ないでしょうか?

一応商用で考えているので、もしレジストリの読み込みだけでも何かのミスで壊れたら。。。。と思い心配中です。
他にも他のソフトの設定値等のレジストリを読み込んでいるような商用ソフトがあれば安心なのですが…
753デフォルトの名無しさんsage2007/07/12(木) 10:43:55
なんで読むだけで壊れるんだよ。
阿呆か。
754デフォルトの名無しさんsage2007/07/12(木) 10:46:39
AcrobatReaderに限定せずに、普通にシェルの関連付けに従えばいいだろ。
関連付け無視でIE起動するアプリケーションとかホント鬱陶しい。
755デフォルトの名無しさん2007/07/12(木) 10:58:48
>>754
わかるわかる
オナニープログラムだよなw
756751sage2007/07/12(木) 11:54:56
>>754
シェルの関連付けに従って起動出来るのですね。
その方が全然いいです。

そのやり方もやはりレジストリ読み込みになるのでしょうか…


というのも、昔データエラーが出るCD-RWのコピーを頼まれて、
データエラーを無視してコピーしてくれるソフトでコピーしたら、
コピー元のデータが0byteになったという恐ろしいことがあったので。。。

読み込みだけでも怖いです・・・
757デフォルトの名無しさんsage2007/07/12(木) 12:04:48
Process.Start

つーかレジストリ読むだけで壊れるって、それなんてWindowsME?
758デフォルトの名無しさんsage2007/07/12(木) 13:01:56
コピー元が始めから壊れてただけじゃ
759デフォルトの名無しさん2007/07/12(木) 17:17:57
質問させてください。
story
 1、アプリAを実装中である。
 2、アプリAにはポップアップウィンドウと呼ばれるformが存在する。
 3、ポップアップウィンドウがShow()されると、アプリAのどの窓よりも
   前面に表示される。
 4、ただしアプリA以外のアプリを使用するときは、
 使用するアプリを最前面に表示させる。
 5、アプリAにフォーカスを戻すと、必ずポップアップウィンドウが最前面に表示される。

formのbase.CreateParams プロパティをオーバーライドして色々試しているのですが、
なかなか思うような動きをしてくれません。

このstoryを解決するような実装をどなたか教えていただけないでしょうか?
よろしくお願いします。
760デフォルトの名無しさんsage2007/07/12(木) 17:26:59
普通に子ウィンドウにしとけば手前に表示されるだろ。
761759sage2007/07/12(木) 17:45:34
>760 回答ありがとうございます。
ひとつのフォームに対する親子関係ではなくて
story3にあるようにアプリAのどの窓よりも前面に表示したいのです。
762デフォルトの名無しさんsage2007/07/12(木) 17:52:23
SetWindowPosでごにょごにょやるしかない
763デフォルトの名無しさんsage2007/07/12(木) 18:36:23
>>759
はずしてるかもしれないけど、

Showの引数をAにするのではなくAの子ウインドウにする。
764デフォルトの名無しさんsage2007/07/12(木) 18:41:31
ShowDialog()ってオチでは・・・
765764sage2007/07/12(木) 18:42:13
あ、ShowDialog(this)の方が確実
766デフォルトの名無しさんsage2007/07/12(木) 18:44:07
様々な状態遷移を考慮して適切なイベントで何かするのもありだけど、
タイマーで適当に監視して(そのアプリの)他のウィンドウの一つ手前に
Aを持ってくるってのが簡単だと思う。

フォーカス等を奪わないように気を付けてね。
767759sage2007/07/12(木) 18:53:53
みなさま回答ありがとうございます。

>763
Aとはフォームではなくてアプリ全体を指します。

>764
ポップアップウィンドウを消さないとその他のフォームが操作できないので
ShowDialogは却下です。

>765
アプリAの全てのフォームの最前面に表示したいのです

>766
簡単ではありますが、常にtimerのイベントプロシジャーが実行されるので
わがままですが個人的にはその実装はしたくありません。
768デフォルトの名無しさんsage2007/07/12(木) 18:56:11
A で WM_WINPOSCHANGED を監視して・・・
769デフォルトの名無しさんsage2007/07/12(木) 19:43:20
>>759
なんか言ってる意味がよくわからないので勘違いしてるかも知れないけど。

(1) アプリの全てのフォームのDeactivateイベントを次のようなメソッドに紐付けする。
void anyForm_Deactivate(object sender, EventArgs e)
{
if (Form.ActiveForm == null)
{
formA.TopMost = false;
}
}

(2) アプリの全てのフォームのActivatedイベントを次のようなメソッドに紐付けする。
void anyForm_Activated(object sender, EventArgs e)
{
formA.TopMost = true;
}

こういう動作のことでいいの?
770759sage2007/07/12(木) 20:29:08
>>769
TopMost= true にしたときに ポップアップウィンドウにフォーカスが移るので
で駄目でした。
771デフォルトの名無しさんsage2007/07/12(木) 20:47:46
>>770
少しは頭使おうよ。
それならたとえば、

void anyForm_Activated(object sender, EventArgs e)
{
if (!formA.TopMost)
{
Form activeForm = Form.ActiveForm;
formA.TopMost = true;
activeForm.Focus();
}
}
とかすればいいじゃん。
772759sage2007/07/12(木) 21:47:14
>>771
そんなに簡単じゃないです・・・
やってみるとわかります・・・。
773デフォルトの名無しさんsage2007/07/12(木) 21:56:30
実際やってみて言ってるってのw
774デフォルトの名無しさんsage2007/07/12(木) 22:10:25
>>771 そんなアクティブが言ったりきたりする実装(゚゚)イラネ
775デフォルトの名無しさんsage2007/07/12(木) 22:11:45
SWP_NOACTIVATEつきでSetWindowPos呼べばいいよ
776デフォルトの名無しさんsage2007/07/12(木) 23:57:22
>ポップアップウィンドウを消さないとその他のフォームが操作できないので
>ShowDialogは却下です。
先に飼い解けや
777デフォルトの名無しさんsage2007/07/13(金) 01:07:50
いまだに意味が分からない。
ただ単にアプリAで常に最前面に表示するフォームと何が違うの?
778デフォルトの名無しさん2007/07/13(金) 01:29:59
ウザ・・・
779デフォルトの名無しさんsage2007/07/13(金) 01:54:30
対象のフォームの
Enterイベントで this.TopMost = true;
Leaveイベントで this.TopMost = false;
で駄目かな
780デフォルトの名無しさんsage2007/07/13(金) 01:56:49
ShowDialog(this)とかは趣味でやってくれ
781デフォルトの名無しさんsage2007/07/13(金) 02:26:47
↑何で趣味なん?
782デフォルトの名無しさんsage2007/07/13(金) 03:29:54
つか趣味だとどうなんだ?
783デフォルトの名無しさんsage2007/07/13(金) 07:15:18
俺もわかんね。
何が趣味なんだろ。
784デフォルトの名無しさんsage2007/07/13(金) 07:28:28
趣味はShowDialog(this)です
785デフォルトの名無しさんsage2007/07/13(金) 09:23:30
treeviewのツールチップが98系で文字化けしますが、これは
ばくでしょうか?

treeView1.Nodes.Add("LLLLLLLLLLLLSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS");
treeView1.Nodes.Add("LLLLLLLLLLLLSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS");
786デフォルトの名無しさん2007/07/13(金) 11:49:29
現在、DataGridに値を追加していき、その値の合計をDataGrid2に表示させています。
表示させることはうまくいったのですが、その合計の値を取得しとうとすると失敗してしまいます。

int sum = 0;
foreach(DataRow dataRow in dt.Rows)
{
  sum +=(int)dataRow["数量"];
}

int sum1 = 0;
foreach(DataRow dataRow in dt.Rows)
{
  sum1 +=(int)dataRow["金額"];
}

double Goukei = (sum*sum1*(1+0.05));

Goukeiには常に0.0しか入ってくれません。

ためしに
double Goukei = (2*2000*(1+0.05));

としてみてもやはり0.0のままです。何が原因でいけないのでしょうか?
787デフォルトの名無しさんsage2007/07/13(金) 11:51:17
いみわかんね。
ステップ実行で追えよ。
788デフォルトの名無しさんsage2007/07/13(金) 12:09:57
Goukei を0.0と判断したのはどれよ
789デフォルトの名無しさんsage2007/07/13(金) 12:18:53
>>786
http://pc11.2ch.net/test/read.cgi/tech//184-

なんでふらっとスレからわざわざこっちに移動してくるんだ?
7907862007/07/13(金) 12:28:49
わかりにくくてすいません。

順序的には
private
DataSet ds = new DataSet("明細");
DataTable dt;

DataSet ds2 = new DataSet("合計金額");
DataTable dt2;

public Form1
{
dt = ds.Tables.Add("明細");
dt.Columns.Add("数量",typeof(int));
dt.Columns.Add("金額"typeof(int));
dataGrid1.DataSource = ds.Tables["明細"];

dt2 =ds2.Tables.Add("合計金額");
dt2Columns.Add("数量",typeof(int));
dt2Columns.Add("金額",typeof(int));
dataGrid2.DataSource = ds2.Tables["合計金額"];
}
7917862007/07/13(金) 12:30:15
private void button_Cick(object sender, System.EventArgs e)
{
DataRow dr2;
dr2 = dt2.NewRow();
dt2.Rows.Clear();
int sum = 0;
int sum1 = 0;
foreach(DataRow dataRow in dt.Rows)
{
sum -=(int)dataRow["数量"];
}
dr2["数量"] = sum;

foreach(DataRow dataRow in dt.Rows)
{
    sum1 +=(int)dataRow["金額"];
}
dr2["金額"] = sum1
dt2.Rows.Add(dr2);

double Goukei = (sum*sum1*(1+0.05));
}

上記のようにコーティングしています。
792デフォルトの名無しさんsage2007/07/13(金) 12:33:38
コーティング……
793デフォルトの名無しさんsage2007/07/13(金) 12:40:26
1.数量をマイナスする意図が不明
2.二度DataRowCollectionループする必要性が不明
3.ちゃんと変数名つけろと会社で怒られないのか不明
4.Goukei使ってないのが不明
5.コーティング
6.ふらっとに帰れ
794デフォルトの名無しさんsage2007/07/13(金) 13:15:06
>>789
のスレでもコーティングだよ(;´Д`)
と、とにかくチョコレートで頼むわ。。

マジレスすると、foreachの中にブレークポイントしかけて
値がとれてるか確かめることから始めよう
795デフォルトの名無しさんsage2007/07/13(金) 14:40:30
>>786

これだけのコードじゃ、dtには、データが存在しないのでは?
まさか、ホントにこれだけで、合計が 0 なのはどうして?って、質問じゃぁないよね…

>>793 でいわれてるような なんで2回ループすんの?
どころか、このループは処理されないんだから

int sum = 0; int sum1 = 0; のままジャン?
796デフォルトの名無しさんsage2007/07/13(金) 14:51:05
オレとしては、
>double Goukei = (2*2000*(1+0.05));

これが0.0になるのが非常に気なるんだが。
どうやって確かめたのだ?
797デフォルトの名無しさんsage2007/07/13(金) 18:34:29
Cのマクロで、コンパイル時に定数になっているものがあります。

#define func( a,b,c ) ( (a << b) | c )

#define CONST_VALUE_A func( 1,2,3 )

これをC#で実装しようとするとfuncという関数を作って代入すればよいのですが
そうすると、const変数にできません。

staticクラスでこういうコンパイル時には定数になるものを
定義することはできるのでしょうか?
798デフォルトの名無しさんsage2007/07/13(金) 18:40:12
readonlyメンバ
799デフォルトの名無しさんsage2007/07/13(金) 18:42:15
無理だろ
べた書きかstatic readonly
800デフォルトの名無しさんsage2007/07/13(金) 18:44:39
あとは、役割毎でクラスをきっておけば
スッキリ
場合によってはあとから再利用可能
801デフォルトの名無しさんsage2007/07/13(金) 18:47:52
そういうこと考えるんだったら定数なんか外に出さずにちゃんとラップするよ
802デフォルトの名無しさんsage2007/07/13(金) 20:36:41
C#というより.NETの質問なんですが、
一般に中間言語っていうとバイトコードのことですよね?
.NETの場合アセンブリ言語っぽい表現のことも指すと思うんですが(拡張子.ilだし)、
両者を区別する用語みたいなものはあるんでしょうか?
803デフォルトの名無しさんsage2007/07/13(金) 20:40:17
exeやdllはアセンブリと呼ぶよ
804デフォルトの名無しさんsage2007/07/13(金) 20:47:10
いやそのアセンブリは意味が違…
805デフォルトの名無しさんsage2007/07/13(金) 21:04:00
つまりバイトコードの方をアセンブリといい、アセンブリの方を中間言語というんですか。
なんかややこしいですね・・・

と思ったんですが.NETでアセンブリっていえばコードの集合のことですよね。
コードそのものはなんていうんだろ・・・
806デフォルトの名無しさんsage2007/07/13(金) 21:11:04
>>805
それは違う。
MSILはテキスト状態のものもバイナリ状態のものもIL(中間言語)と呼ぶ。
アセンブリは複数(または単数)のILモジュールをまとめたもの。
807デフォルトの名無しさんsage2007/07/13(金) 21:50:44
private void button_Cick(object sender, System.EventArgs e)
{
DataRow dr2;
dr2 = dt2.NewRow();
dt2.Rows.Clear();
int sum = 0;
int sum1 = 0;
double Goukei = 0;


foreach(DataRow dataRow in dt.Rows)
{
sum -=(int)dataRow["数量"];
sum1 +=(int)dataRow["金額"];

Goukei -=(int)dataRow["数量"]*(int)dataRow["金額"];
}
dr2["数量"] = sum;
dr2["金額"] = sum1

dt2.Rows.Add(dr2);

Goukei *= 1.05;
}
808デフォルトの名無しさんsage2007/07/13(金) 22:00:37
>>806
だな

集合体っていう意味じゃない >アセンブリ
あえて言うならアセンブラは有りだと思うが

http://msdn2.microsoft.com/ja-jp/library/496e4ekx(VS.80).aspx
809デフォルトの名無しさんsage2007/07/13(金) 22:26:14
http://msdn2.microsoft.com/ja-jp/library/hk5f40ct(VS.80).aspx
exeやdllを抽象的・論理的に表した言葉と理解していいの?
810デフォルトの名無しさんsage2007/07/13(金) 23:10:04
>>808
んーやっぱテキストファイルの方をバイトコードと区別する呼び方が何かあるわけじゃないんですね。
そこでも「.ilソースファイル」という呼び方しかしてないし。

検索したらここでも同じようなことが書かれてました。
http://www.atelier-blue.com/program/il/il10-01.htm
関係ないけどMSILとCILって同じだと思ってたんですが違うんですね。
811デフォルトの名無しさんsage2007/07/14(土) 02:49:25
C#で一時的に描画をやめさせたい場合どうやるのでしょうか?

おねがいします。
812デフォルトの名無しさんsage2007/07/14(土) 02:51:20
>>811
時と場合による、普通は出来ないので
目を閉じるのがよい
813デフォルトの名無しさんsage2007/07/14(土) 02:55:44
OnPaintをオーバーライドして何もせずreturnすればよか
814デフォルトの名無しさんsage2007/07/14(土) 02:56:04
わかりました。ありがとうございます
815デフォルトの名無しさんsage2007/07/14(土) 03:24:50
>>813
やってみます。ありがとうございます
816デフォルトの名無しさんsage2007/07/14(土) 03:40:58
すみません、C# .Net 2005で通知領域内に表示したアイコンを右クリックした場合と左クリックした場合で
異なるコンテキストメニューを表示させたいのですが、どのように行えば良いでしょうか。
いくらか検索して、notifyIconをMouseClickで押したマウスのボタンで判別してcontextMenuStripをShowすればいいのだと思ったのですが、
右クリックのみ有効のままでうまくいきませんでした。
ご教授お願いします。

private void notifyIcon_MouseClick(object sender, System.Windows.Forms.MouseEventArgs e)
{
  if (e.Button == MouseButtons.Left)
  {
    this.contextMenuStrip_Left.Show(this, PointToClient(Cursor.Position));
  }
  else if (e.Buton == MouseButtons.Right)
  {
    this.contextMenuStrip_Right.Show(this, PointToClient(Cursor.Position));
  }
}
817デフォルトの名無しさんsage2007/07/14(土) 15:04:07
>右クリックのみ有効のまま

どういう意味?
818デフォルトの名無しさんsage2007/07/14(土) 15:18:11
>>817
左に割り当てたメニューが表示できなかったってことなんじゃね?
8198162007/07/14(土) 16:52:12
>>817
わかりづらくてすみません、>>818さんの言うとおりです。
右クリックではcontextMenuStrip_Rightのメニューが出るのですが、
左クリックではまったく反応なしのまま。という意味です。

どこかでデザインフォームからのnutifyIconのContextMenuStripプロパティに直接設定すると
左クリックが有効にならないというのがあり、ContextMenuStripプロパティの指定をなくして
コード上で指定するようにもしてみましたが、この場合だと右左ともメニューが表示できなくなってしまいました。。
820デフォルトの名無しさんsage2007/07/14(土) 17:38:03
たぶん問題とあまり関係ないとは思うけど、なんでわざわざクライアント座標で
Showするんだろう。
821デフォルトの名無しさんsage2007/07/14(土) 18:05:12
>>819
なんかやってみたら普通に問題なく出来たけど。

ひょっとしてその"notifyIcon_MouseClick"にイベントがヒモ付けされてない、
なんてオチだったりしないか?
822デフォルトの名無しさんsage2007/07/14(土) 19:23:22
だったら右クリックも出ないんじゃね?
823デフォルトの名無しさんsage2007/07/14(土) 20:09:19
treeView1.Nodes.Add(new TreeNode("AAA"));
で追加したノードを削除するために
treeView1.Nodes.RemoveByKey("AAA");
を実行したのですが、削除されません。
何がいけないのでしょうか?
824デフォルトの名無しさんsage2007/07/14(土) 20:56:36
TreeNode( string ) はTextプロパティしか設定しないから。
825デフォルトの名無しさんsage2007/07/14(土) 20:59:56
>>822
ContextMenuStripプロパティは設定してるんだろ。
テストしたけどContextMenuStrip設定して手もMouseClick普通に発生する。
>>821に一票
826816sage2007/07/14(土) 23:09:07
>>821-822,825
>>821さんの通りでしたorz
初歩的なミスにずっと気づいてなかったとは・・・。
無事解決できました。ありがとうございました。
827デフォルトの名無しさんsage2007/07/14(土) 23:32:20
こういうときって普通、本当に表示メソッドが呼ばれてるかどうか調べないか?
ここで質問するほうがよっぽど面倒な気がするが…
828デフォルトの名無しさんsage2007/07/14(土) 23:46:47
ブレークポイントって知ってる?
829デフォルトの名無しさん2007/07/15(日) 03:00:35
Concat()
で、連結する間にいれる文字を指定する方法orそれにかわるうまい方法はないですか?

string[] tmp = new string("a", "b", "c");

の配列をforeachなどで一回一回くっつけて文字列を作るのじゃなくて、

string after = "a任意の文字b任意の文字c";

のように一発で合成させたいんですけど。
830デフォルトの名無しさんsage2007/07/15(日) 03:04:27
string.Join
831829sage2007/07/15(日) 03:14:33
>>830
即レス感謝です。ありがとー
832デフォルトの名無しさんsage2007/07/15(日) 12:26:07
でもそれ「ふらっと」でも恥ずかしくて聞けない類の質問だと思うよw
833デフォルトの名無しさんsage2007/07/15(日) 12:30:24
まぁ最低限よく使うクラスくらいはMSDNライブラリを読んでおいたほうがいいね
834デフォルトの名無しさんsage2007/07/15(日) 12:34:44
>>833
それは流石に無理があると思うが・・・
「よく使うクラス」って意外に多いよ。
むしろインテリセンスを活用するべき。メソッドの説明まで出るんだし。
835デフォルトの名無しさんsage2007/07/15(日) 12:38:29
んーそうかな
1日や2日で済むくらいじゃない?
想像してる範囲が違うのかな
836デフォルトの名無しさんsage2007/07/15(日) 12:40:24
Formのメンバとか全部読むのか?
ある程度知識がないと何が大事な情報かなんてわからないからキリがない
837デフォルトの名無しさんsage2007/07/15(日) 12:50:06
全てのメンバの詳細な説明までは読んでないよ
838デフォルトの名無しさんsage2007/07/15(日) 12:58:20
まあ水掛け論になりそうだねw
俺は834こそ「無理がある」と思うけど。

スペルとかオーバーロードの全てとかを一語一句覚える必要はもちろんないが、
基本的なクラスが持つ機能ぐらい頭に入ってないと効率悪くて死ぬでしょ。

まあそういうわけで俺はStringみたいな基本中の基本のクラスの機能が頭に入ってないって
そもそもどうなの、と思うわけだけど、そういう個人的な感覚は横においておくとしても、
少なくとも文字列を操作しようと思ったときに真っ先にStringについて調べようと思う発想がないのは
かなり恥ずかしいことでしょ。
839デフォルトの名無しさんsage2007/07/15(日) 13:03:49
ほんとに初心者のうちはTips回った方が早い
840デフォルトの名無しさんsage2007/07/15(日) 13:05:15
Concatでできないってんだから、
見落とした(見つけられなかった)だけじゃねーの?
841デフォルトの名無しさんsage2007/07/15(日) 13:05:44
>>832-838
また無駄なレスが付いたな
842841sage2007/07/15(日) 13:11:06
アンカミス
>>832-842
843デフォルトの名無しさんsage2007/07/15(日) 13:57:48
馬鹿っていうのはどうして自分の言葉を自分に適用できないんだろうねえ
844デフォルトの名無しさんsage2007/07/15(日) 14:09:13
>>843
>>842をよく見ろ >>843
そして俺も>>841
845デフォルトの名無しさんsage2007/07/15(日) 14:25:26
c の プログラムをjava風にvoid main()って書くのはいけないこと?
846デフォルトの名無しさんsage2007/07/15(日) 14:26:51
失礼、スレ違い
847デフォルトの名無しさんsage2007/07/15(日) 14:30:03
C#の場合はpublicもprivateも付けずに
static void Mainとするのが普通?
VSで自動生成されるコードを見てると、privateだけど外部から呼ばれる可能性があるものは
アクセスレベルを書かない習慣になってるように見えるんだが
848デフォルトの名無しさんsage2007/07/15(日) 14:31:39
どっちでもいい。
849デフォルトの名無しさんsage2007/07/15(日) 14:32:27
いろいろとConcurrentなコレクション実装ってないかいな。
850デフォルトの名無しさんsage2007/07/15(日) 14:34:29
外部から呼ばれるものは基本publicだろふつう。
外部から呼ばれるとは限らないものは基本なし(=internal)になってるが。
っていうか、特に理由がなければつかないのがデフォルトになってるな。

851デフォルトの名無しさんsage2007/07/15(日) 14:49:05
「なし」 = privateまたはインターフェイスの明示的実装 だぞ
852デフォルトの名無しさんsage2007/07/15(日) 15:05:59
メンバの話とトップレベルのタイプの話をごっちゃにするな
853デフォルトの名無しさんsage2007/07/15(日) 15:20:43
いやん勘違いん
854本当の841sage2007/07/15(日) 16:52:31
>>842
あれ?841は俺なんだがw
まぁでも実際にリロードしてから書き込めばよかったと思っていたんでちょうどよかったw
855デフォルトの名無しさんsage2007/07/15(日) 18:13:46
>>833のようなやつがプロジェクトで一番使えない。
856デフォルトの名無しさんsage2007/07/15(日) 21:22:38
お前もしつこい性格だな
857デフォルトの名無しさんsage2007/07/16(月) 00:33:05
どうしても言いたかったんだろう。
858デフォルトの名無しさんsage2007/07/16(月) 20:24:32
ジェネリッククラスについて質問です。

ジェネリッククラスAでIEquatable>を実装したときのbool A.Equals(A)に
ついてなんですが、T型のメンバの比較を、Tが値型だった時でもボックス化しないように
書くことは可能ですか?

ジェネリッククラスの静的フィールドはTの型ごとに個別に確保されるのですか?

T var = ...; if (var == null) ...; という文がTが値型であっても許容されるんですが、
この比較では一体何が行われてるんですか?
(デバッガの逆アセンブルによるとcallを含む何かしらの
処理が行われているようです。)
859デフォルトの名無しさんsage2007/07/16(月) 20:31:39
そのbool A.Equals(A)は何を比較するわけ?
もしメンバ等にTを持っててそのTを比較するとかなら、
Tの制約にIEquatableを指定して、IEquatable.Equalsを呼べばいい。

そう

何も行われない。
値型に対してインスタンスかされた場合、
nullとの比較およびそのときに処理される内容は削除される。
※絶対に実行されることはないとわかっているため。
860デフォルトの名無しさんsage2007/07/16(月) 20:40:57
自分は >>859 じゃないけど補足。

Tの制約にIEquatableが含まれているとするとする。
このとき次のコードはボックス化を起こさない。
T a, b;
bool b1 = a.Equals(b);
bool b2 = System.Collections.Generic.Comparer.Compare(a, b);

ただしこう書くとボックス化が起きる。
T a, b;
IEquatable ia = a; //ボックス化
IEquatable ib = b; //ボックス化
bool b1 = ia.Equals(b);
861860sage2007/07/16(月) 20:44:11
ミスったごめん。
上のボックス化を起こさない版、正しくはこう。

b2 = System.Collections.Generic.EqualityComparer.Default.Equals(a, b);
862860sage2007/07/16(月) 20:45:26
gdgdまくる。

b2 = System.Collections.Generic.EqualityComparer.Default.Equals(a, b);
863858sage2007/07/16(月) 20:54:43
>>859
Tには制約を課したくないのですが、そしたらやっぱりボックス化するしかないんでしょうか。
ありがとうございます。
「コードを最適化する」にチェックを入れても値型のTに対して7個程度の命令が
出力されてるみたいなんですが、この設定はJIT最適化とは無関係ってことなんですかね?

>>860-862
参考になりました。
864デフォルトの名無しさんsage2007/07/16(月) 20:59:49
無関係です。
865デフォルトの名無しさんsage2007/07/16(月) 21:06:09
>>863
b2 = System.Collections.Generic.EqualityComparer.Default.Equals(a, b);
は、TがIEquatableを実装している場合にはボックス化は起きず、
実装していない場合はボックス化は起きるけどエラー無しに比較だけはしてくれる。
それでよければ利用するメソッド側にIEquatable制約を付ける必要はない。

TがIEquatableを実装していない場合は、
ValueType.Equals以外に一般的な比較方法が無いんだけどどうしたいわけ?
せいぜいできて、Equalsが型付けされたバージョンでオーバーロードされているか
Reflectionで調べて、あったらそれ呼ぶぐらいだと思うけど。

>値型のTに対して7個程度の命令
命令ってのがILのことを言ってるなら、冗長な比較はJITコンパイルの段階で除去される。
866デフォルトの名無しさんsage2007/07/16(月) 21:18:41
>>864
すみません、無関係なのは当たり前でした。
VisualStudioでデバッガの出力する逆アセンブリコード(ILではなく)において
値型とnullの比較に7個程度の命令が含まれていたんですが、VisualStudioでホストすると
JIT最適化が行われないとかそういったことがあるんでしょうか?

>>865
IEquatableを実装していなければ値型は規定の比較、参照型は参照の比較で十分かなと
思ってます。制約によるデメリットの方が大きいので。
EqualityComparer.Defaultの方法がよさそうですね。
867デフォルトの名無しさんsage2007/07/16(月) 21:56:04
>>866
>JIT最適化が行われないとかそういったことがあるんでしょうか?

いろんな要因でいろんなレベルの最適化が無効になりうるので
そういうのは自分で確かめてくれ。

最適化が無効になるのが嫌な場合は、
該当部分でDebugger.Break()を呼んだりDebugBreak APIを呼んだりして
その後にデバッガをアタッチするのが定石。
F5実行でインライン展開といった一部の最適化は確実に無効になる。
あとは言語のスコープにオブジェクトの寿命をあわせるために
ローカル変数を延命させたりといった副作用がある。
868859sage2007/07/16(月) 21:57:07
ごめ
>>865
の書いてるのでいいわ。
そのためだけに制約を増やす「必要」はなかった。
869デフォルトの名無しさんsage2007/07/16(月) 22:07:59
>>866
EqualityComparer.Defaultが何やっているかについてはこの辺読んでおくよろし。
ttp://d.hatena.ne.jp/NyaRuRu/20070216/p1
870858sage2007/07/16(月) 22:18:47
>>867
Debugger.Break()を使ったところnull比較のコードが省かれていることを確認しました。
どんな最適化が実際に行われているか自分の目で確認できるので便利ですね。
どうもありがとうございます。

>>869
読んでおきます。
871デフォルトの名無しさんsage2007/07/16(月) 22:46:08

public Form1()
{
InitializeComponent();
ContextMenuStrip menu = new ContextMenuStrip();
ToolStripMenuItem item = new ToolStripMenuItem("item1");
item.DropDown.Items.Add("item1_1");
menu.Items.Add(item);
item.DropDown.MouseDown += new MouseEventHandler(DropDown_MouseDown);
this.ContextMenuStrip = menu;
}
void DropDown_MouseDown(object sender, MouseEventArgs e)
{
MessageBox.Show("MouseDown");
}

コンテキストメニューのドロップダウンにマウスイベントを割り当てても実行されないのですが
どうすればいいのでしょうか?

DropDownItemClickedではなくどうしてもMouseDownを割り当てたいのです。
872デフォルトの名無しさんsage2007/07/16(月) 23:13:38
???
873デフォルトの名無しさんsage2007/07/16(月) 23:14:40
TabPageとTreeViewのツールチップが98系で化けるです。
獏ですか(怒)?
874デフォルトの名無しさんsage2007/07/16(月) 23:15:22
>>873
98で使うな。
875デフォルトの名無しさんsage2007/07/16(月) 23:19:26
98で使う方が悪い
876デフォルトの名無しさんsage2007/07/16(月) 23:25:01
>item.DropDown.Items.Add("item1_1");

>item.DropDown.MouseDown += new MouseEventHandler(DropDown_MouseDown);

わからんけどここが問題では?
877デフォルトの名無しさんsage2007/07/16(月) 23:25:05
バグかどうか聞いてるんですが(怒)?
878デフォルトの名無しさんsage2007/07/16(月) 23:30:25
何だこれw

FIX: Treeview を制御するのには、 勝ち 98 での負の座標で失敗します。
879デフォルトの名無しさんsage2007/07/16(月) 23:43:49
FIX: Treeview Control Fails with Negative Coordinates on Win 98
→FIX: Treeview 制御 失敗 で 負 座標 での 勝ち 98
→FIX: Treeview を制御するのには、 勝ち 98 での負の座標で失敗します。

機械翻訳するのはいいけど Win を勝ちはひどいなwww
880デフォルトの名無しさんsage2007/07/16(月) 23:45:31
まあ、ある意味あっているw
881デフォルトの名無しさんsage2007/07/16(月) 23:49:37
>>871
どうしてもMouseDown使いたいってのは、
右クリックとかもとりたいのではないかと想像するけど
ContextMenuStrip使わずにToolStripDropDownMenuとかから継承してって
OnMouseUpとかで自前のイベント起こした方が近道っぽいよ
882デフォルトの名無しさんsage2007/07/17(火) 03:35:31
>>877
ここで怒ってどうするw
883デフォルトの名無しさんsage2007/07/17(火) 03:38:45
>>877
バグじゃないよ
884デフォルトの名無しさんsage2007/07/17(火) 05:51:42
バグじゃないよ(怒)
885デフォルトの名無しさんsage2007/07/17(火) 06:14:53
そうなんですか
ありがとうございました(怒)
886デフォルトの名無しさんsage2007/07/17(火) 07:49:09
どういたしまして(怒)
887デフォルトの名無しさんsage2007/07/17(火) 13:00:17
>>881
レスサンクスです。
でも大変そうなので、結局、DropDownに追加したToolStripMenuItem一つ一つにMouseDownを割り当てました。
888デフォルトの名無しさんsage2007/07/17(火) 13:12:34
>>858
どうでもいいけど今からvarっていう識別子を使うのはやめとけよ
889デフォルトの名無しさんsage2007/07/17(火) 15:44:35
@varでいいよ。
890デフォルトの名無しさんsage2007/07/17(火) 21:17:23
MSは平気で予約語増やすね
891デフォルトの名無しさんsage2007/07/17(火) 21:20:44
だがそれがいい
892デフォルトの名無しさんsage2007/07/18(水) 01:25:31
デフォルトでなぜかusing System.Text;がソースコードの先頭に入るんですが、
これってカスタマイズできないですか?
System.Collections.GenericはともかくSystem.Textはさほど使用頻度は高くないと思うんですが・・・
893デフォルトの名無しさんsage2007/07/18(水) 01:31:50
そういうテンプレートを作れば?
894デフォルトの名無しさんsage2007/07/18(水) 01:55:26
うん。System.DataとかSystem.Xmlとかも……
895デフォルトの名無しさん2007/07/18(水) 08:19:57
ASP.NETでホストされているかどうかを調べる方法はどうするのがよいのでしょうか?
ホストされていたらweb.configを読み込んで、そうでなければapp.configを読み込む。
という処理とかを書きたいんですけど。
896デフォルトの名無しさんsage2007/07/18(水) 09:06:34
読むってどう読みたいの?
単に普通にセクションを読むだけなら
区別しなくても大丈夫だよ?
897デフォルトの名無しさんsage2007/07/18(水) 12:55:25
相変わらず言語障害者ばっかりだな
898デフォルトの名無しさんsage2007/07/18(水) 17:59:48
相変わらず口の悪いやつばっかりだな
899デフォルトの名無しさんsage2007/07/18(水) 18:46:31
相変わらず声優ヲタばっかりだな
900デフォルトの名無しさんsage2007/07/18(水) 19:28:00
メインのメニューのサブメニュー上で右クリックしたとき
あたらしくコンテキストメニューを出したいんですが、
コンテキストメニューのshow()を呼ぶと元のメニューが消えてしまいます。

元のメニューを消さずにコンテキストメニューを表示させるには
どうすればいいのでしょうか?

お願いします。
901デフォルトの名無しさんsage2007/07/18(水) 19:31:36
またUIの常識に根本から挑戦するようなことをw
902デフォルトの名無しさんsage2007/07/18(水) 20:10:14
なぜ今まで見たこともないUIにしたいのだろう…
自分のアプローチが間違っているかも?って少しぐらい考えないのかと。

>>900
質問に対する答えは「不可能」
そうしたい理由があるならそれも書けば?
903デフォルトの名無しさんsage2007/07/18(水) 20:13:16
いままで見たことないってなに?IEやスタートメニュー見たことないの?
904デフォルトの名無しさんsage2007/07/18(水) 20:19:54
あれはコンテキストメニューとは言わないだろ
905デフォルトの名無しさんsage2007/07/18(水) 20:21:02
>メインのメニューのサブメニュー上で右クリックしたとき

>IEやスタートメニュー見たことないの?

イミワカラン;;
906デフォルトの名無しさんsage2007/07/18(水) 20:37:02
>>904
じゃーなんていうの
907デフォルトの名無しさんsage2007/07/18(水) 20:49:58
IEでもコンテキストからコンテキストは出ないだろ
もしかして進むボタンとか戻るボタンのことを言ってるのか?

あと、スタート押して出てくるのはどう見てもウィンドウだろ
908デフォルトの名無しさんsage2007/07/18(水) 20:52:15
サブメニューのサブメニューでがまんするお
909デフォルトの名無しさんsage2007/07/18(水) 20:55:06
秀丸のファイルヒストリやフォルダヒストリのメニューは
右クリックするとコンテキストメニューが出るよ
910デフォルトの名無しさんsage2007/07/18(水) 20:55:58
もしかしてIEのお気に入りメニューやスタートメニューのプログラムメニューが
D&Dで並べ替えたり、右クリックでメニューが出せるのを知らない人が多いの?

もちろんあれは普通のメニューじゃなくてMSオリジナルなんだけど、
今回.netでメニューがオリジナルになったからできると思って
質問したわけです。
911デフォルトの名無しさんsage2007/07/18(水) 20:56:02
>>907
多分
 メニュー→お気に入り→フォルダまたはお気に入りファイルの上で右クリック
の奴のことを言ってるんだと思う。
912デフォルトの名無しさんsage2007/07/18(水) 20:58:18
toolStripMenuItemを右クリックしてコンテキストメニューを出すっていってんだろ!
分かれやボケ共
913デフォルトの名無しさんsage2007/07/18(水) 21:01:48
>>912
じゃぁおまえはすっこんでろカス!
別れやチンカス
914デフォルトの名無しさんsage2007/07/18(水) 21:18:46
>>900
ここかフラットでずっと前に出てたから探してみな。
915デフォルトの名無しさんsage2007/07/18(水) 21:21:19
QTTabBarみたいなやつかな
ToolStripMenu上でToolStripじゃないメニューでるよ
916デフォルトの名無しさんsage2007/07/18(水) 21:37:36
>>915
ありがとう。
System.Windows.Forms.ContextMenuを使ってできました。
917デフォルトの名無しさんsage2007/07/18(水) 21:41:41
ワロタw
918デフォルトの名無しさんsage2007/07/18(水) 22:00:23
ToolStrip系のコントロールってEnabled = falseにしてもツールチップが
表示されるのがデフォみたいだけど、この仕様はPublicなプロパティとメソッドを
いじるだけではやはり変えられない?

しかし、ToolStrip系のコントロールって全体的に設計が糞だね。
Controlから派生して作られてない上に、継承して動作変更しようと思っても
制約が非常に多い。
919デフォルトの名無しさんsage2007/07/18(水) 22:08:48
>>918
自分の書いた内容をよく読むんだ!

変だと思わなかったらふらっとへ池。
920デフォルトの名無しさんsage2007/07/18(水) 22:10:39
くだらない奴。
まあ君が変だということはよくわかった。
921デフォルトの名無しさんsage2007/07/18(水) 22:17:26
変なのはいいことだと思う。

ほめ言葉に聞こえるんだ。
922デフォルトの名無しさんsage2007/07/18(水) 22:33:08
C#を選んだ時点で変だという話も…
923デフォルトの名無しさんsage2007/07/18(水) 22:46:21
それを言うならプログラムを組もうとする時点で変だよ!
924デフォルトの名無しさんsage2007/07/18(水) 22:48:45
言えてる。
昔はパソコン=プログラムだったんだが。

俺たちは異端児…
925デフォルトの名無しさんsage2007/07/18(水) 22:57:56
もう何が変かわからないよ
926デフォルトの名無しさんsage2007/07/19(木) 00:03:43
変じゃない人間なんていないよ!
そんな奴がいたら変だ!
927デフォルトの名無しさんsage2007/07/19(木) 01:25:52
>>900
>>910
>>916
これで解決なの?
なんなんだいったい…
928デフォルトの名無しさん2007/07/19(木) 02:09:35
C#スレも随分レベル下がったな
Expressとか出すからこうなるんだ
929デフォルトの名無しさんsage2007/07/19(木) 02:13:31
>>928
お前みたいなのはこのスレに必要ないから
もう来なくていいよ
930デフォルトの名無しさんsage2007/07/19(木) 02:20:07
>>928-929
わざわざ自分に言わなくてもwwww
何自演やってんだよカス

お前がいらないよ
いいわけいいからさっさと消えろ
931デフォルトの名無しさんsage2007/07/19(木) 02:31:34
煽りのレベルも下がったな
932デフォルトの名無しさんsage2007/07/19(木) 02:33:27
>>931
ワロタw
933デフォルトの名無しさんsage2007/07/19(木) 02:34:30
>>930-931
934デフォルトの名無しさんsage2007/07/19(木) 02:37:14
気に入らないなら見なければいいのにwwwwwwwwwwwwwwwwwwwwwwwwwww
935デフォルトの名無しさん2007/07/19(木) 02:47:02
お前らレス無駄遣いするなよ
煽りながらも質問するとか答えるとかしろ


あ、丸いボタンってどうやって作るんですか?
みたいな
936デフォルトの名無しさんsage2007/07/19(木) 02:48:34
フナムシども、黙れ!
937デフォルトの名無しさんsage2007/07/19(木) 02:49:39
やなこった
938デフォルトの名無しさん2007/07/19(木) 02:50:02
>>936
お前の母ちゃんでべそだろ?
939デフォルトの名無しさんsage2007/07/19(木) 02:51:21
だらだら消費しようぜ
次スレたてればいいことだし
940デフォルトの名無しさんsage2007/07/19(木) 02:53:57
じゃぁ>>999が次スレ立てろよ
で、>>1000が壮大な質問しろ
941デフォルトの名無しさんsage2007/07/19(木) 03:23:42
もうフナムシネタはいいよ
942デフォルトの名無しさん2007/07/19(木) 05:42:18
C#とVBとどっちがカンタンなの?
943デフォルトの名無しさん2007/07/19(木) 05:46:17
C#からRuby 使うライブラリってないですか?
C#のRuby bindingsというか。

検索してもやり方がまずいのか見つからなくて
944デフォルトの名無しさんsage2007/07/19(木) 06:19:33
>>942
C#
945デフォルトの名無しさん2007/07/19(木) 08:56:11
C#って体験版ダウンロードできないの?
946デフォルトの名無しさん2007/07/19(木) 08:59:06
C#ってパスカルなの?
947デフォルトの名無しさんsage2007/07/19(木) 08:59:21
>>945
>>5
948デフォルトの名無しさん2007/07/19(木) 09:03:09
なんだよー
public static void Main()とかあるじゃん
VBのがかんたん!
949デフォルトの名無しさん2007/07/19(木) 09:04:03
なんだよー
ウインドウのサイズも指定しないとだめなんじゃん
死ねよ
950デフォルトの名無しさんsage2007/07/19(木) 09:10:08
>>948,949
そこはデザイナがやってくれるから気にせずForm1にVBのようにゴリゴリ書けばいい
951デフォルトの名無しさん2007/07/19(木) 09:27:40
おれがいってんおはこれのことだよーhttp://ufcpp.net/study/csharp/st_basis.html
this.button.Location = new Point(80, 16);
this.button.Size = new Size(96, 32);
これってウインドウサイズ指定必須ってことだろ=−
952デフォルトの名無しさん2007/07/19(木) 09:28:18
http://ufcpp.net/study/csharp/fig/guiwelcome.png
これだよー
953デフォルトの名無しさんsage2007/07/19(木) 09:48:12
何こいつ
954デフォルトの名無しさんsage2007/07/19(木) 10:07:05
ふらっと以下だな
955デフォルトの名無しさんsage2007/07/19(木) 10:15:43
Macのタスクバー?みたいな与えられたRectangleの中でマウスの位置に応じたアイテムが拡大表示されながら左右に動くことで全体を表示できるコントロールあるじゃないですか。
名前付けるとしたらなんと言ったらいいのかね?
956デフォルトの名無しさんsage2007/07/19(木) 10:16:41
>>955
クラス名・変数名に迷ったら書き込むスレ。Part10
http://pc11.2ch.net/test/read.cgi/tech//
957895sage2007/07/19(木) 10:33:53
セクション名を指定して読むのではなく、app.config/web.configをConfigureオブジェクトとして読み込みたいです。
958デフォルトの名無しさんsage2007/07/19(木) 13:00:44
>>955
こことか >>956 で聞くよりも、Mac 関係の板に行って
「あれってみんななんて呼んでる?」って聞くほうがはやくね?
959デフォルトの名無しさんsage2007/07/19(木) 13:02:26
>>951
賢いレイアウトしてもらいたければ WPF 使え。
そのサイトに WPF の説明もある。
Window.SizeToContent で、中身にあわせた自動 sizing してくれる。
960デフォルトの名無しさんsage2007/07/19(木) 13:28:05
>>958
ドックとしか言われないと思うよ。
961デフォルトの名無しさんsage2007/07/19(木) 13:41:52
>>958 んーなんつうかDocそのもののことじゃなくて、ああいう感じのスクロールバーとかなしでマウス位置に応じてぐりぐりって動くものを一般的になんと言うかなんだけど・・・
どうしよう。
962デフォルトの名無しさんsage2007/07/19(木) 13:41:58
>>951
using System.Windows.Forms;

class Program
{
 public static void Main()
 {
  Application.Run(new Form());
 }
}

何を持って必須といいたいんだろう。
初期値くらい持ってるけど。
それとも週の真ん中で釣り糸垂らし中?
963デフォルトの名無しさんsage2007/07/19(木) 13:43:12
>>962
実際使いもせずにサイトの情報だけ見て判断しているんじゃね?
964デフォルトの名無しさんsage2007/07/19(木) 16:47:40
zoomSliderとか
965デフォルトの名無しさん2007/07/19(木) 18:22:52
VBを詳しく知らないのだが、確か、実画面のドットじゃなくて、
比率でサイズ指定できるんじゃなかったか?
フォームのサイズを変更しても、大丈夫というか
966デフォルトの名無しさんsage2007/07/19(木) 19:04:03
次スレはここつかう?
C♯, C#相談室 Part34
http://pc11.2ch.net/test/read.cgi/tech//
967デフォルトの名無しさんsage2007/07/19(木) 19:10:51
まっ!
968デフォルトの名無しさんsage2007/07/19(木) 19:51:40
>>966
過去ログの番号の整合性が無くなるからそこは止めようということになった
969デフォルトの名無しさんsage2007/07/19(木) 19:54:56
C#, C♯, C#相談室 Part41
http://pc11.2ch.net/test/read.cgi/tech//
970デフォルトの名無しさん2007/07/20(金) 09:54:42
>>963
そうですよ。
何か問題ありますか?
VBとC#とどっちがかんたんなのか
3時間以内に判断しないといけないんです
971デフォルトの名無しさんsage2007/07/20(金) 10:01:30
>>970
this.button.Location = new Point(80, 16);
this.button.Size = new Size(96, 32);

↑こういうコードはデザイナが自動生成するから自分で書く必要ない
ついでにデザイナが生成するコードは別ファイルで保存されるから
目にはいることもない
ただ、VB6.0あたりとC#だったらVBの方が簡単なんじゃないだろうか
便利なのは.NETの方だと思うが
972デフォルトの名無しさん2007/07/20(金) 10:10:14
実際VB6とVB2005と
C#とVJと
どれが一番かんたんななのか
しらべなくてはいけないんっですが
それするとけっきょく
ぜんぶいちどはいいんすとーるしなければならないので
ふぁびょってるんですうううもうだめええ
らめええええええ

で、不等号>でむずかしいじゅんにならべてええええ
973デフォルトの名無しさんsage2007/07/20(金) 10:19:26
VJ > VB2005 > C# > VB6

異論は認めない。これが宇宙の真理だ。100人に聞けば100人が同じように答える。
だからもう森へお帰り。

974デフォルトの名無しさんsage2007/07/20(金) 10:27:08
VJ > VB2005 > C# > VB6
975デフォルトの名無しさんsage2007/07/20(金) 10:27:39
>>973
異論はあるけど>>972にはその答えで十分だと思うからつっこまない。
976デフォルトの名無しさんsage2007/07/20(金) 10:28:54
VJ > VB2005 > VB6 > C#
977デフォルトの名無しさん2007/07/20(金) 10:29:04
>>973
すばらしい!!!
VJ#ではないところが特に素晴らしい
978デフォルトの名無しさんsage2007/07/20(金) 10:29:32
>>972がかわいそうw
くそVBを学ぶなんてw
979デフォルトの名無しさんsage2007/07/20(金) 10:31:43
VJ > VB2005 > C# = VB6
980デフォルトの名無しさんsage2007/07/20(金) 10:35:17
うめうめ
次すれには来るなよ〜
981デフォルトの名無しさんsage2007/07/20(金) 10:46:51
わざわざ埋めなくていい
質問1個くらいは答えられるかもしらん
982デフォルトの名無しさんsage2007/07/20(金) 11:14:07
VC++やったら。マジで簡単だから。
983デフォルトの名無しさん2007/07/20(金) 11:19:05
じゃ、質問を1つしようかな。

私はC#初心者で、VS2005 C# で開発してるんですが、
文字列を数値変換する方法で前々から思っていたことがありました。

以下の定義されているとします。
 string s = "10";

例外が発生してもいいなら以下のようにすると思います。
 int i = int.Parse(s);

例外を発生させたくない場合は、以下のようにすると思います。
 int i;
 if( !int.TryParse(s, out i) )
   MessageBox.Show("error");

前者が1行ですむのに対して後者は3行も使わなければなりません。
もっと効率の良いソースはないでしょうか?
984デフォルトの名無しさんsage2007/07/20(金) 11:19:57
VC#のほうが初心者は簡単だろ
985デフォルトの名無しさんsage2007/07/20(金) 11:23:57
MSがBASIC.NETを出せば面白いのに

>>983
int i = int.TryParse("1", out i) ? i : -1;
986デフォルトの名無しさんsage2007/07/20(金) 11:30:26
>MSがBASIC.NETを出せば面白いのに
糞プログラマを増やすだけだろw
987デフォルトの名無しさん2007/07/20(金) 11:44:33
C#って中身はパスカルなの?

>>973
「目が真っ赤だ」
「な、仲間をよんでるぞ!」
988デフォルトの名無しさんsage2007/07/20(金) 11:52:10
JavaをベースにちょっとだけC++に巻き戻して
いろいろ流行のものをブチ込んだ言語
989983sage2007/07/20(金) 12:04:31
>>985
なるほどね…
990デフォルトの名無しさんsage2007/07/20(金) 12:07:06
C++厨は巣にカエレ
991デフォルトの名無しさんsage2007/07/20(金) 12:38:34
>>985
1行だけどそんなのやだ
992デフォルトの名無しさんsage2007/07/20(金) 12:57:32
理由を添えて
993デフォルトの名無しさんsage2007/07/20(金) 13:40:16
初期化前に代入を終えてその後初期化で代入って変だろ、どう考えても。
994デフォルトの名無しさんsage2007/07/20(金) 14:20:49
失敗時に-1を代入するというのもsが"-1"のときどうするつもりなんだろう、
995デフォルトの名無しさんsage2007/07/20(金) 14:30:10
>>999
スレ立てヨロ

>>1000
もっとまともな質問しろやカス!
996デフォルトの名無しさんsage2007/07/20(金) 14:33:10
すでにたってる

C#, C♯, C#相談室 Part41
http://pc11.2ch.net/test/read.cgi/tech//
997デフォルトの名無しさんsage2007/07/20(金) 14:34:56
>>995
>>969 
既に立っておるぞよ、この糠
998デフォルトの名無しさんsage2007/07/20(金) 14:37:42
おっと、自分も次スレがあるの忘れてた
>>995への突っ込みが無ければ立ててしまうところだったわ
999デフォルトの名無しさんsage2007/07/20(金) 14:38:45
梅っす
1000デフォルトの名無しさんsage2007/07/20(金) 14:44:46
>>995
市ね
10011001Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
 213KB (218483Byte)
dummy_for_searchRef

DAT2HTML 0.32g Converted.