C#, C♯, C#相談室 Part40

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。

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

過去スレは>>2-5あたり。
2デフォルトの名無しさん:2007/06/16(土) 16:42:42
3デフォルトの名無しさん:2007/06/16(土) 16:43:26
4デフォルトの名無しさん:2007/06/16(土) 16:44:07
5デフォルトの名無しさん:2007/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/1179313212/

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デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/06/16(土) 16:57:04
一個あるんだから立てんなよ・・・
8デフォルトの名無しさん:2007/06/16(土) 16:58:35
9デフォルトの名無しさん:2007/06/16(土) 17:06:39
>>1
そんなに俺のことが嫌いなのかよ? このフナムシ!
10デフォルトの名無しさん:2007/06/16(土) 17:09:01
きもい粘着のことは忘れて
新たな気持ちで参りましょう
11デフォルトの名無しさん:2007/06/16(土) 19:11:59

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

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

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

また他の言語では使えない場合が多い。
17デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/06/16(土) 20:25:17
>>11
文字列に意図しないstrが入っていたら...
1911:2007/06/16(土) 23:02:40
あんまそういう事はしない方がいいんですかね。
perlでいうevalみたいなチョロで出来てしまうのがあればなぁと思ったんだけど。

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

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

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

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

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


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

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

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

ふらっとC♯, C#(初心者用) Part16
http://pc11.2ch.net/test/read.cgi/tech/1179313212/
49デフォルトの名無しさん:2007/06/18(月) 10:58:58
Generic型の定数をstaitcで宣言したいのですが、タイプ初期化子例外
がでます。解決法を教授いただけないでしょうか?
public class TestClass<T>
{
public T Value;
public static TestClass<T> ConstValue = new TestClass<T>();
}
static Main()
{
TestClass<int> test = TestClass<int>.ConstValue;
}
}
50デフォルトの名無しさん:2007/06/18(月) 11:12:58
>>49
コンパイルも通るし動いてるけど
51デフォルトの名無しさん:2007/06/18(月) 21:30:23
全くどうでもいいが、Const を名乗るなら ReadOnly くらい付けようぜ。
52デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/06/19(火) 02:37:37
これは試練なのだろう。
これが理解できたらおれはあの娘に結婚申し込む
55デフォルトの名無しさん:2007/06/19(火) 06:33:18
Console を noecho モードにする方法ってありませんか?
ちなみにできれば 1.1 で。 2+ なら ReadKey 使えそうなんですが。
56デフォルトの名無しさん:2007/06/19(火) 06:47:13
ReadConsoleInput
57デフォルトの名無しさん:2007/06/19(火) 23:02:58
>>53
無理じゃないか?

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

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

ではボタンのデータって何だ?
58デフォルトの名無しさん:2007/06/19(火) 23:08:49
DataColumn column = new DataColumn("Button", typeof(Button));
59デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/06/20(水) 12:33:52
>>59
なんかそもそもスレッドの意味が分かってなさそう。。
真面目に勉強するのが結局一番早道だと思うよ。
少なくともスレッドの意味も知らずにスレッド使うのは無理無駄ムラ。
61デフォルトの名無しさん:2007/06/20(水) 13:36:28
前スレをBackgroundWorkerで検索
62デフォルトの名無しさん:2007/06/20(水) 13:37:53
職場に、スレッド使うと処理が早くなるって勘違いしていたババアエンジニアが居たな。
今も目の前でプログラムくんでるけど。
63デフォルトの名無しさん:2007/06/20(水) 14:42:00
そんなんケースバイケース
64デフォルトの名無しさん:2007/06/20(水) 20:04:43
ケースバイケースばい
65デフォルトの名無しさん:2007/06/20(水) 20:58:17
>ババアエンジニア

kwsk
66デフォルトの名無しさん:2007/06/20(水) 21:00:22
変なところに食いつくなよw
67黒い風 ◆ZL/4ZL7WZU :2007/06/20(水) 21:05:04
神速黒い風様が500ゲットォーーー!!!!
68デフォルトの名無しさん:2007/06/20(水) 21:07:11
おしい
69デフォルトの名無しさん:2007/06/20(水) 21:25:58
マルチコアでもマルチプロセッサでもスレッドはほとんど恩恵をうけれないんだよな?
70デフォルトの名無しさん:2007/06/20(水) 21:30:55
ネットやディスクなどのアクセスが絡んでくると待機時間がもったいない
71デフォルトの名無しさん:2007/06/20(水) 21:33:24
一見正論だが、大抵の場合その待機時間が必要時間全体のほぼすべてである。
72デフォルトの名無しさん:2007/06/21(木) 00:44:04
最近はマルチコアCPUなので高速化の為にスレッド分けることがあるって聞いたけど嘘ですかそうですか
73デフォルトの名無しさん:2007/06/21(木) 00:49:16
スレッドは同一プロセスで、プロセスは普通CPUまたいで動作しない。
74デフォルトの名無しさん:2007/06/21(木) 00:50:03
環境依存だろ
75デフォルトの名無しさん:2007/06/21(木) 00:50:40
>>73
いつの時代の話ですか
76デフォルトの名無しさん:2007/06/21(木) 01:03:03
試したの?
テストした人教えて。
77デフォルトの名無しさん:2007/06/21(木) 01:11:52
C# でどうなのかは知らんが、
マルチコアでマルチスレッドにして高速化なんてのは
並列計算業界では常識的に行われている事。
78デフォルトの名無しさん:2007/06/21(木) 01:12:16
口ばっかで試す奴なんかいないだろ
79デフォルトの名無しさん:2007/06/21(木) 01:13:05
>>77
UNIXとかはね。
80デフォルトの名無しさん:2007/06/21(木) 01:15:36
え?
81デフォルトの名無しさん:2007/06/21(木) 01:21:40
高速化、とかそんな漠然といわれても。
82デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/06/21(木) 02:16:09
XHTMLではなくHTMLのページをXMLとしては読み込めませんよ
どうしても読み込ませたいなら、自力でXHTMLに変換してから読み込ませてくださいw
84デフォルトの名無しさん:2007/06/21(木) 02:21:54
>>83
あり。
ではウェブページの構造解析をするのは
自力でやるかWebBrowser経由でやるかどっちかなんですね・・
85デフォルトの名無しさん:2007/06/21(木) 05:28:30
DOM 使うだけなら Microsoft.mshtml.dll 使えんこともないが。
86デフォルトの名無しさん:2007/06/21(木) 10:10:21
DataTableの列を入れ替える方法ってある?

Accessのクロスクエリみたいな処理作ってるんだけど、データ発生順に列を生成してるから列が発生順になるんだ
教えてエロい人
87デフォルトの名無しさん:2007/06/21(木) 10:57:05
DataTableにこだわるならDataColumnCollectionからカラム削除してまた追加
データを表示する時に希望の並び順でさえあればいいならDataGridView.DisplayIndex
88デフォルトの名無しさん:2007/06/21(木) 11:11:06
たんいつCPUならマイクロスレッドにしとけ。
マルチコアなどならスレッドわけも利点があろうもん。
89デフォルトの名無しさん:2007/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;
 
9190:2007/06/21(木) 13:14:35
はう・・・見づらくてすみません・・・・orz
92デフォルトの名無しさん:2007/06/21(木) 13:35:05
>90
ItemsじゃなくてRowsじゃね?
9390:2007/06/21(木) 13:48:05
Rowsがないです・・・
9492:2007/06/21(木) 13:52:38
ちょっと勘違いしてたけど

oleda.Fill(dataSet11,"SHOP_MST");
の後に
if(dataSet11.Tables["SHOP_MST"].Rows.Count == 0)
が良いんじゃまいかとオモタ
9590:2007/06/21(木) 13:57:53
dataSet11は競合されていますって出てしまいまする・・・
9692:2007/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());
9790:2007/06/21(木) 16:06:34
追加してみましたが、駄目です・・・原因不明だ・・・・
98デフォルトの名無しさん:2007/06/21(木) 16:08:23
こっちで同じようなコード書いてみたけど再現しないな
データの取得自体は上手くいってるの?
9990:2007/06/21(木) 16:13:42
取得自体はうまくいっています。ただ、表示だけがSystem〜っとなってしまいます。
10092:2007/06/21(木) 16:13:59
問題なければその処理全体をここに貼り付けr
101デフォルトの名無しさん:2007/06/21(木) 16:27:27
その表示はtoString() なんだろうし、どこか勘違いしてるだけぽいが
10290:2007/06/21(木) 16:34:53
Tostringにしても変わらず・・・でした
103デフォルトの名無しさん:2007/06/21(木) 16:37:13
いや、そうじゃなくてね……
10492:2007/06/21(木) 16:37:47
System.Data.DataRowViewになる原因は分かってる
データ取得できる状態にしてDisplayMemberの行をコメントにしてみればなんとなく分かる

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

Rows.Countが通らない理由はシラネ
10590:2007/06/21(木) 16:37:48
System.Data,DataRowViewとなっているのを
MessageBox.Show(listBox.Text)で表示させてみると
そっちはきちんと店名が表示されてます・・・
10692:2007/06/21(木) 16:54:01
まぁソース全体見ないとなんとも言えない
10790:2007/06/21(木) 16:54:29
今試してみたところ
if(listbox.Items.Count == 0)を無くしてみたのですが
検索が0件だった場合=表示がおかしくなってしまうみたいです。
10890:2007/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("日付を正しく入力してください");
}
}
10990:2007/06/21(木) 17:06:00
上記がソース全体です。
110デフォルトの名無しさん:2007/06/21(木) 17:09:34
そういうことにListBox(というかコントロール)を使うな
111デフォルトの名無しさん:2007/06/21(木) 17:24:55
listbox.SelectedValueはただのタイプミスだよな?
mdb相手に全く同じコード使っても再現できず
("SELECT〜);と略した部分にでも問題があるんでね?
112デフォルトの名無しさん:2007/06/21(木) 17:28:29
>>108

前に質問してた方ですねw
ふらっとに移らなかったの?
11392:2007/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("日付を正しく入力してください");
}
}
11490:2007/06/21(木) 17:31:18
ふらっととどちらに書き込むか迷いましたけど、こっちに来てみました。
115デフォルトの名無しさん:2007/06/21(木) 17:35:51
前スレの715か
じゃあ相手にするだけ無駄だったな
11690:2007/06/21(木) 17:37:27
>>92
ありがとうございます、無事動きました!

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

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

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

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

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

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

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

新機能の一覧に位目を通せよ・・・・
目玉機能の一つだったと記憶しているが・・・
134デフォルトの名無しさん:2007/06/22(金) 16:31:23
ああ、次は匿名メソッドだ
135デフォルトの名無しさん:2007/06/22(金) 17:01:59
delegate { System.Console.Write("anonymous method\n"); return; }
136デフォルトの名無しさん:2007/06/22(金) 17:04:26
yieldを忘れないでやってください
137デフォルトの名無しさん:2007/06/22(金) 17:36:50
そんなこといやるど。
138デフォルトの名無しさん:2007/06/22(金) 17:38:26
while(true) yield return "僕を忘れないで";
139デフォルトの名無しさん:2007/06/22(金) 17:47:49
yield使ったことないわ
140デフォルトの名無しさん:2007/06/22(金) 17:51:46
grepしたら一箇所だけ使ってた。
141デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/06/22(金) 18:43:50
多態性を完全否定した
146デフォルトの名無しさん:2007/06/22(金) 18:44:00
コールバックかくのに妙なメンバ関数を増やさなくて済むようになる。
147デフォルトの名無しさん:2007/06/22(金) 18:47:44
イチイチクラスメソッドをオーバーライドしないでも書き換えれてしまう でOK?
148デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/06/22(金) 20:49:42
>>149
ありえない。




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

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

一応ウチの収めてるのは動いてるっぽいけど
158デフォルトの名無しさん:2007/06/22(金) 22:04:55
Vistaがx64用の場合ターゲットCPUをx64にしなければいけないと
思い込んでる人にはあったことがあるな。
よほどのことが無ければAnyCPUでOKなのだが。
159デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/06/22(金) 22:46:51
> .NET FRAMWORKの違いね
161デフォルトの名無しさん:2007/06/22(金) 23:12:11
>>160
そんな下らんことでいちいちつっかかるな! このフナムシ!
162デフォルトの名無しさん:2007/06/22(金) 23:26:45
全部大文字って珍しいな
163デフォルトの名無しさん:2007/06/23(土) 01:33:44
CLRのバージョンは同じなわけだが。
164デフォルトの名無しさん:2007/06/23(土) 09:18:56
もう全員ふらっといけよ
165デフォルトの名無しさん:2007/06/23(土) 09:56:51
3.0って2.0+αだろ
置き換えや削除は一切無いんじゃなかったか
166デフォルトの名無しさん:2007/06/23(土) 09:57:04
そそそれが・・・
167149:2007/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
168149:2007/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デフォルトの名無しさん:2007/06/23(土) 14:28:20
Write once, compile once, runs once.
170デフォルトの名無しさん:2007/06/23(土) 15:10:19
manko once
171デフォルトの名無しさん:2007/06/23(土) 15:12:23
そのおっさんが言ってるだけだろ。
無能なやつはどこにでもいる
172デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/06/23(土) 17:05:12
アセンブリがロードできるかチェックするとか
175デフォルトの名無しさん:2007/06/23(土) 17:55:05
               ◤◥◣   ポーション噴いた
http://&rlo;. … ■ ▪ ▬◣〓▀▀■▇▆▅▄▂ ▪ ▂         ▐▂▲〓▀◤◢  ▂  
http://&rlo;・ ▪ ▃∵ ¨▂ ■ ▪ ▀■▅▂.        ▼◣◥     ▼ ▍ 
http://&rlo;▂▄◣◥〓■██■▇▆▅▄▂¨& ▀█▇◢& ◤◢   ◣▐ ▅     ◤◢ ▍▀  
http://&rlo;. ▪ ∴ ◣◥ ▀▀〓■██▇▆▅██▅▂ ■ ▍     ■◢ ▅  ▍    
http://&rlo;◣◥& ■& ▅.… ∴ ▪ ▀███████▇▅▐ ◣▐   ▂   ▐  
http://&rlo;▂▄▃▄▂■ ▪& ▂▃▆████████▇▆▅◥▀  ▂◣▀   
http://&rlo;‥∴ ■ ▪ ▀▀▀■▀▀▀ ¨& ■   ▀▅▄▂▄◣◥   
176デフォルトの名無しさん:2007/06/23(土) 18:02:09
177デフォルトの名無しさん:2007/06/23(土) 23:20:07
コピペ君って馬鹿だな、まで読んだ。
178デフォルトの名無しさん:2007/06/24(日) 16:55:21
ファイル送信中にprogressbarをつかってその進渉率を表したいのですが、
ファイル送信中の情報量を受け取れるメソッドとかがあるのでしょうか?

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

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

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

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

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

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

またこちらのお世話になっても良いでしょうか?
196デフォルトの名無しさん:2007/06/25(月) 11:11:23
もう勘弁してくれ
197デフォルトの名無しさん:2007/06/25(月) 11:30:34
>>195
正直カンベンしてほしいが投稿するかどうかは自由だ
198デフォルトの名無しさん:2007/06/25(月) 11:31:32
>>191
例外が発生しない正しい手順を用意してれば例外投げてもおk
199デフォルトの名無しさん:2007/06/25(月) 11:32:23
内容によってはふらっとで
200デフォルトの名無しさん:2007/06/25(月) 11:35:32
>>189
>色んなサイトを見ると、このActiveXモドキだと特殊なツールで登録しないといけないとか、インストーラーが必要だとか書いてましたが
その通り、Regasm.exeで登録するか、インストーラー使ってレジストリに書き込むしかない。
それが嫌なら、VS6.0のVBかVC++を使え。
しかしActiveXとか懐かしいな。今じゃ普通は.NETサーバーを使ったWebプログラミングにした方が良いと思うが。
あ、その場合は板違いだからWebプログラミング板で聞けよ。
20190:2007/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デフォルトの名無しさん:2007/06/25(月) 11:42:50
やっぱ.NET1.1だったのか?
203デフォルトの名無しさん:2007/06/25(月) 11:43:54
どうせ全てのデータが表示されるんじゃなくて
最後の1つだけの情報がでてるとか言うオチなんだろ?
20490:2007/06/25(月) 11:44:38
今見てみましたが、.NET1.1みたいです。
20590:2007/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デフォルトの名無しさん:2007/06/25(月) 11:52:32
今までのまとめ

>>90は外国人
・DBはoracle
・oracleだけどoledb
・素人のはずなのに環境選べず2.0を使わせてもらえない可哀想な子
・WHERE句のAND条件を知らない
208デフォルトの名無しさん:2007/06/25(月) 11:53:49
>>207
これはひどいw
209デフォルトの名無しさん:2007/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"];
}
21090:2007/06/25(月) 12:33:57
>>207
日本人です・・・。

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

private void buttom1_Click(object sender, System.EventArgs e)
{
  MessageBox.Show(listbox.Items[listbox.SelectedIndex].ToString());
}
213デフォルトの名無しさん:2007/06/25(月) 12:54:32
あのさ、ここで質問する前にlistbox.Items[i].ToStringの値がおかしいはずって気づくよね
まずそこを調べてみれば、ValueMember設定したらItemにDataRowViewが入っていることが
分かるわけで解決するよな
以前の質問もValueMemberとSelectedValueを間違えているせいで表示されなかったんだろうな
21490:2007/06/25(月) 12:56:25
店舗を選択している状態でボタンを押すとだと、Sysytem.Data.DataRowViewと出てきます。
215デフォルトの名無しさん:2007/06/25(月) 12:57:00
\(^o^)/お約束ktkr
216212:2007/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デフォルトの名無しさん:2007/06/25(月) 13:01:30
212じゃなく213でした><
21890:2007/06/25(月) 13:12:03
追加情報 : SHOP_MST.SHOP_JP_NAME は、テーブル SHOP_MST の DataColumn でも DataRelation でもありません。

っと表示されました
219デフォルトの名無しさん:2007/06/25(月) 13:13:19
 お 前 は 他 人 に レ ス を ち ゃ ん と 読 め
220デフォルトの名無しさん:2007/06/25(月) 13:14:04
そろそろカンベンしてほしいところだな
そろそろ一撃で終わらせたい
221デフォルトの名無しさん:2007/06/25(月) 13:15:36
>>220
お前が自由だなんて書き込んだからまた来たんだろうがw
ちゃんと最後まで責任取れよ
22290:2007/06/25(月) 13:24:09
すいません。ちゃんと店舗名が表示されました。
22390:2007/06/25(月) 13:28:43
ごめんなさい。
216の言うとおりなんですが・・・複数店舗表示させるにはどうすればいいでしょうか?
224デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/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でガリガリくっつけるのもありだが
22890:2007/06/25(月) 13:42:36
>>227
毎回選択されるものが違うのですが、INで大丈夫なんでしょうか?
229デフォルトの名無しさん:2007/06/25(月) 13:43:03
お前の脳みそがまともなら大丈夫
23090:2007/06/25(月) 13:52:57
すみません。どうやればいいでしょうか・・・・
231デフォルトの名無しさん:2007/06/25(月) 14:01:50
まず、リストボックスで選択された店舗名をstring配列に突っ込む
次にそのstring配列使ってINの'店舗名1','店舗名2'の部分を作っていく
string.Joinあたりを使うと楽
23290:2007/06/25(月) 14:07:55
本当に無知ですいません・・・・。

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

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

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







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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

カスタムコントロールで
protected override void OnEnter(System.EventArgs e) {
  base.OnEnter(e);
}
としたらできました。
300デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/06/27(水) 06:55:22
DataView の RowFilter に AND くっつけていく
302デフォルトの名無しさん:2007/06/27(水) 08:13:45
>>284
・VS、あるいは.netがバージョンアップを繰り返しているけど、この本は今でも使い物になるか
No
いい本だとは思う。Ver2の差分を他の本で補うのなら購入してもいいとは思うが。
バージョンの差分が大きいので、今は他の本を探した方がいいとおもう。

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

Hoge GetHoge();

T Hoge
{
get;
}

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



Hoge Nantoka
{
get;
}

のまちがいでした
312デフォルトの名無しさん:2007/06/27(水) 23:46:29
つ MSDN『プロパティとメソッドの選択』
313デフォルトの名無しさん:2007/06/27(水) 23:50:44
そのゲッターを定義すること自体がインターフェイスの目的だったらGetNantokaにするとか
314デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/06/29(金) 12:01:49
catchする必要なトコでつけりゃいいだろ
上から呼ばれて下を呼ぶ時にそこでcatchするのがまずいこともあるべ
318デフォルトの名無しさん:2007/06/29(金) 12:03:10
>>316
>理論上、絶対に例外が発生しないところにはtry〜catchは付けず、
Yes

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

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

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

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

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

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

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

javaだったらテキストボックスにドキュメントリスナーを追加して
テキストボックスを監視して何も入力されていないときは、ボタンをオフにできるのだけれど・・
348デフォルトの名無しさん:2007/06/29(金) 20:40:35
>>347
デフォルトでオフにしといて、
TextBoxのValidatedイベントで値の入力を確認してオンにする
349デフォルトの名無しさん:2007/06/29(金) 20:51:39
>>348
でもそうすると、もう一度テキストボックスが空になったとき
オフにならなくないですか??
350デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/06/29(金) 21:37:34
ValidatingかValidatedイベントに>>350と同様のイベントハンドラでは?
353デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/06/29(金) 22:01:05
↑嬉しそうにハートマーク使うところが房なんだよ
356デフォルトの名無しさん:2007/06/29(金) 22:02:48
房かよ
357デフォルトの名無しさん:2007/06/29(金) 22:08:57
房ってなに?ふさ?
358デフォルトの名無しさん:2007/06/29(金) 22:18:21
ふさふさ?
誰がハゲやねん#
359デフォルトの名無しさん:2007/06/29(金) 22:21:31
C#厨と書いてあっても「しーしゃーぷぼう」と読んじゃう厨房がいるらしいよ
360デフォルトの名無しさん:2007/06/29(金) 22:24:41
たまに『○○房』ってみかけるが
『○○厨』って書いてるつもりだったのか
361デフォルトの名無しさん:2007/06/29(金) 22:26:35
美容師「漢字も読めずに2ちゃんねら気取りっすかwwwwwwww」
362デフォルトの名無しさん:2007/06/30(土) 01:16:28
>>361
すごくいい話しに見えるフラグ来たな

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

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

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

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

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

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

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

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

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

ttp://madebits.com/netz/index.php
379デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/06/30(土) 19:03:12
エクセルのファイルフォーマットが読めるクラスを自作したの?
だったらあんたの自作クラスの仕様なんか、誰も知らないだろう。
違うか?
382デフォルトの名無しさん:2007/06/30(土) 21:15:42
COMだろ
Excelスレで聞いた方が良いんじゃね?
俺は右端取得なんて便利なプロパティ聞いたこと無いわ
383デフォルトの名無しさん:2007/06/30(土) 21:31:03
マクロ記録でctrl+→
384デフォルトの名無しさん:2007/06/30(土) 21:32:51
後ろから順にサーチすりゃいいじゃん。
385デフォルトの名無しさん:2007/06/30(土) 21:36:56
>>383
空セル混じってもいける?
386デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/06/30(土) 23:39:34
よかねえよボケ
389デフォルトの名無しさん:2007/06/30(土) 23:39:56
Excel総合相談所 57
http://pc11.2ch.net/test/read.cgi/bsoft/1181155085/

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

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

それと、エクセル操作するならC#よりVB.NETの方が親和性高いと思う。
393デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/07/01(日) 00:02:32
>387
すまん、綴りミスってた。
UsedRangeだ。
395387:2007/07/01(日) 00:38:54
>>394
ありました!
どうもありがとうございます!
396デフォルトの名無しさん:2007/07/01(日) 00:42:18
>>393
あんた、なんと言うかセンスないよ。
よく考えてみろよ。

それで出来たら送受信のタイミングとかどうやってると思うんだ?
397デフォルトの名無しさん:2007/07/01(日) 00:51:19
その辺はうまくやってくれないと困ります。
398デフォルトの名無しさん:2007/07/01(日) 01:04:13
勝手に困ってろ。
簡単に困ると書くな。
努力しろ。
考え直せ。
何度でもやり直せ。
試せ。
399デフォルトの名無しさん:2007/07/01(日) 01:21:54
その前にこれが気になる。
>bf.Serialize(ns, hage);
コンピュータやバイナリを勉強しなおしたほうがいいぞ。
400デフォルトの名無しさん:2007/07/01(日) 01:23:57
>>396-398
行き詰ってつい書き込みをしてしまいました。スレ汚しすみませんでした。
送受信のタイミングについてもう少し調べてみます。
401デフォルトの名無しさん:2007/07/01(日) 01:27:23
>>399
レス有難うございます。
binary部分ももう一度勉強しなおします。
402デフォルトの名無しさん:2007/07/01(日) 01:28:33
いや、その前に接続しているのか?
まさかそのコードだけじゃないよな?
403デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/07/01(日) 01:50:57
ちなみに>>397を書いたのは別人だ。
冗談だったんだが白状しておく。
405デフォルトの名無しさん:2007/07/01(日) 01:51:43
そのままでも動くんじゃないの?
406デフォルトの名無しさん:2007/07/01(日) 01:54:47
回答も初心者だろうね。
407デフォルトの名無しさん:2007/07/01(日) 01:55:51
>>404
そんなんして楽しいんか?
408デフォルトの名無しさん:2007/07/01(日) 02:21:25
>>407
だまれカス
409デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/07/01(日) 03:10:42
そっちは一番最初のアイコンが返るっぽ。
サイズ指定したいときは
http://www.atmarkit.co.jp/fdotnet/dotnettips/280getappicon/getappicon.html
411デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/07/01(日) 16:00:48
>>413
13や10がint32
414デフォルトの名無しさん:2007/07/01(日) 16:04:28
↑byteでキャストして Write((byte)13) とか。知らんけど。
415デフォルトの名無しさん:2007/07/01(日) 16:04:32
自分に回答
416414:2007/07/01(日) 16:06:36
リロ忘れて邪魔してすまんかった。
417デフォルトの名無しさん:2007/07/01(日) 16:20:31
出来ました、ありがとうございます
418デフォルトの名無しさん:2007/07/01(日) 16:53:08
またもやすみません、追加です。

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

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

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

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

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

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

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

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

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

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

とりあえずユーザーコントロールでやってみたいとおもいます。
難しそうですが、これなら他のタブは共通で使えそうですので。
465デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/07/02(月) 18:51:00
そもそも458の日本語がよくわからん。

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

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

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

しかし、それが正しいとしたら>>458の文章かれその内容を読み取るって
エスパーにしか思えないすごい能力だなw
469458:2007/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デフォルトの名無しさん:2007/07/03(火) 17:57:02
そんな日付はありません、としか。
472デフォルトの名無しさん:2007/07/03(火) 18:12:48
クラス自作しろ
473デフォルトの名無しさん:2007/07/03(火) 18:25:47
>>470
んなもん普通は加工するにきまってんだろ

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

逆に人間が退化しているのか?
488デフォルトの名無しさん:2007/07/03(火) 21:23:44
たまにTeraPadでコード書くとVSの有難さがわかるな
489デフォルトの名無しさん:2007/07/03(火) 21:24:49
まあbasicのコード書いたの十数年ぶりだったのもあるけど。
まさかbreakがないなんて…
GOTOも久しぶりに使った。
490デフォルトの名無しさん:2007/07/03(火) 21:25:33
OpenOfficeのマクロエディタは更に酷いらしい
491481,484:2007/07/03(火) 21:27:00
>>482
書き方がぶっきらぼうだった。
search.iniを開いて「Encode=3」でunDonutの検索窓でも普通に使えるようになる
492デフォルトの名無しさん:2007/07/03(火) 21:27:14
493デフォルトの名無しさん:2007/07/03(火) 21:29:02
>>489
break相当のステートメントは普通にあるよ。
無いのはcontinueにあたるもの。
494デフォルトの名無しさん:2007/07/03(火) 21:32:20
>>493
そうなのか。
タイプミスしていたのかな?
ステートメントは入力候補にでてこないしなあ
495デフォルトの名無しさん:2007/07/03(火) 21:36:36
VBスレ行けよ
496デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/07/04(水) 05:10:11
マルチ乙
499デフォルトの名無しさん:2007/07/04(水) 07:39:35
同期インデックス(lockステートメントで使うやつ)が各オブジェクトごとに存在するのはなぜですか?
同期インデックスを格納するための値型(参照型でもいいですが)を用意して、
その型に対してlockすれば十分のように思うのですが。
各オブジェクトごとに4バイトというのは実際どれくらいの割合に相当するのか分かりませんが、
節約できるならするに越したことはないんで何かしら理由があるんでしょうか。
500デフォルトの名無しさん:2007/07/04(水) 08:13:00
C#はMacでも使用できる言語なんですか?
Macで使用できる言語ならC++(今現在)の次はC#勉強しようと思ってるんですがどう思いますか?
501デフォルトの名無しさん:2007/07/04(水) 08:26:14
>>500
使えるっちゃあ使えるけど非標準的な環境がないと実行できないから勧めないよ
502デフォルトの名無しさん:2007/07/04(水) 08:59:35
>>500
Macでもできる
自分で使うプログラムを作るならmonoを入れてC#を勉強してもいいと思う
でも他人のMacに実行環境が入ってる事は期待しない方がいい
Windowsなら大体のPCに実行環境が入ってるけど
503デフォルトの名無しさん:2007/07/04(水) 09:56:38
IDEやWindows.FormやWPFなんてどうせ動かないんだろ。
なんか公開したところでマカに袋叩きにされるのがオチだろw
504デフォルトの名無しさん:2007/07/04(水) 10:01:31
うわー
505デフォルトの名無しさん:2007/07/04(水) 10:23:24
506デフォルトの名無しさん:2007/07/04(水) 14:06:06
>>499
動機インデックスってなんね?

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

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

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

永遠に待てるならこれは問題にはならないけど、普通は「個々のトイレ毎に排他
すればいいんじゃね?」となるわな。
513デフォルトの名無しさん:2007/07/04(水) 17:40:10
>>510
Windowsで作ったものをMacで動かそうとしてるなら
フォントとかパスとかの扱いに注意しながら作ろう
514デフォルトの名無しさん:2007/07/04(水) 17:57:19
>>512
排他の代わりに排泄したらどうでしょうか?
515デフォルトの名無しさん:2007/07/04(水) 18:02:10
面白くないよ
516デフォルトの名無しさん:2007/07/04(水) 18:41:02
>>515
ごめ・・・おれ少しだけ吹いた
517デフォルトの名無しさん:2007/07/04(水) 18:54:20
次の患者さんどうぞ〜
518デフォルトの名無しさん:2007/07/04(水) 18:56:49
>>512
意味分かってねーな?
例えばMutexみたいに、インスタンスとして使う同期用クラスがあればいい話だ。
そうなってないのは良くなかったと、件の本にはっきり書かれてる。
519デフォルトの名無しさん:2007/07/04(水) 19:06:42
何を言ってるんだいったい?
意味がさっぱりわからんがエスパー同士の会話なのかなw
520デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/07/04(水) 19:16:31
>>520
何を思ってUnmanagedType.Errorなんか使ってるんだ…?
523デフォルトの名無しさん:2007/07/04(水) 19:21:19
>>522
どこかでLPArrayがErrorに書き換わってたみたいです・・・・
524デフォルトの名無しさん:2007/07/04(水) 19:54:33
>>499
>各オブジェクトごとに4バイトというのは実際どれくらいの割合に相当するのか分かりませんが、
オブジェクトの管理番号(ポインタというのか参照の値と呼ぶのか良くわからないけど)を
そのまま使ってると思うから、スペースは消費してないのでは?

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

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

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

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

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

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

for(int i=0; i<dataGridView1.Rows.Count;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デフォルトの名無しさん:2007/07/05(木) 01:20:20
gotoが悪いんじゃない、gotoをちゃんと使えない香具師が悪い
565デフォルトの名無しさん:2007/07/05(木) 01:25:19
脳内で考えるたから出来るかわからんが

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

で駄目かな
566デフォルトの名無しさん:2007/07/05(木) 01:38:20
バインドしてたら行けるだろうけど
問題はバインドしていない時だとおも・・・
つうか、そのくらいの定義書いとくべきだろうなぁ…
567デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/07/05(木) 06:32:15
EndInvokeを呼び出すのは必須。
でないとリソースが解放されないことがある。
569デフォルトの名無しさん:2007/07/05(木) 06:38:05
>>568
どこかに記述はありますか?
非同期デリゲートについては見つけましたが、
コントロールへのマーシャリングのケースでは記述が見つかりません。
570デフォルトの名無しさん:2007/07/05(木) 06:53:32
ごめん。Control.BeginInvokeは違うみたいだった。
http://www.interact-sw.co.uk/iangblog/2005/05/16/endinvokerequired
571デフォルトの名無しさん:2007/07/05(木) 06:53:35
Control.BeginInvokeでは実際にはいらない。
By プログラミング .NET Framework 第2版
572デフォルトの名無しさん:2007/07/05(木) 07:10:26
>>570,571
ありがとう。喉のつっかえが取れました。
573530:2007/07/05(木) 10:04:21
>>531-
いろいろなご意見ありがとうございます
574デフォルトの名無しさん:2007/07/05(木) 21:51:38
Shell APIのSHGetImageList()に代わるシェル登録アイコンのイメージリスト取得できる関数持ってるクラスってありますか?
DllImportしなきゃだめ?
575デフォルトの名無しさん:2007/07/05(木) 21:55:08
そういやぁ、XPS関連使ってる人いる?
576デフォルトの名無しさん:2007/07/05(木) 22:45:51
WPFのデータバインディングで、
グループ化された複数RadioButtonのインデックスのようなものと、
データソースの整数型プロパティをバインドする手段はないでしょうか?
enumのプロパティをRadioButtonの選択で表示したいんですが…
577デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/07/05(木) 23:17:38
はい。
581デフォルトの名無しさん:2007/07/05(木) 23:19:18
ボタン増やしたりできるんですか?
582559:2007/07/06(金) 01:44:25
>>563,565
どうもありがとう。

が、バインドしてない場合のでも教えてほしいです。。
現状dataGirdView1があって、
dataGridView2の方はなんもかかれてない状態で
dataGridView1をコピーしたいんですけど。
オーソドックな方法とかってのはないんですかね。
583デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/07/06(金) 03:05:59
closeしてもセルの内容がnullのままなんだけど。。
(コピー元は記入されてるのに)
なぜ??

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ToolStripManager.RenderMode = ToolStripManagerRenderMode.System;

の方がよい。
ToolStripManagerRenderMode.Professionalが規定値みたいだね。
658デフォルトの名無しさん:2007/07/08(日) 16:45:01
>>655
実際はOfficeがそうしてるんじゃねーの?
659デフォルトの名無しさん:2007/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オブジェクトを生成し、取得するようなイメージでありませんでしょうか?
662660:2007/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
【ファイル受信コード】
/// <summary>
/// ファイルを受信する
/// </summary>
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デフォルトの名無しさん:2007/07/08(日) 18:18:04
bb.Length
読み込んだサイズと関係なく書き込みしているような?
でも関係ないか。
667ファイル転送:2007/07/08(日) 18:19:17
8バイトづつ読み込むんでファイルに書き込みをするようにしています。
ちなみに、MP3は正しく再生されます。
668デフォルトの名無しさん:2007/07/08(日) 18:20:00
>>663
ネットワークのことはよくわからんが、ファイルサイズはあってるの?
コードを見る限り出力ファイルは必ず8の倍数になる気がするのだが・・・

あと
・ループごとにバッファを再確保してどうする。ものすごい勢いでガーベッジを増やしてる。
・もう少しわかりやすい変数名をつけた方がいい
・もう少し質問文を推敲したほうがいい
669デフォルトの名無しさん:2007/07/08(日) 18:23:58
なんでそんな細切れに送るんだ?
かなり無駄だろ。
670666:2007/07/08(日) 18:25:56
readから帰ってくるのは読み込んだバイト数だからそれを使ったら?
でも関係ないかも。
671ファイル転送:2007/07/08(日) 18:26:19
やっぱり無駄ですかね?
ちなみにバイト数自体はあっています。
672デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/07/08(日) 18:30:44
っていうか元のファイルと結果のファイルとが違うってことまでわかってるんだから
少なくともどこがどう違うのかは検証したんだろうね?
まさか調べるのが面倒だから丸投げってわけじゃないよね?
674デフォルトの名無しさん:2007/07/08(日) 18:30:49
>>663
まずは、ファイル内容比較して、どういう壊れ方してるか確かめろよ。
675デフォルトの名無しさん:2007/07/08(日) 22:55:08
読み込んだバイト数で保存しないと駄目に決まってる。
※8バイトずつ書き込んでも、8バイトずつ届くとは限らない。

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

FriendではなくPublicでほかのプロジェクトからも参照できるということなんだろうか?
680デフォルトの名無しさん:2007/07/09(月) 15:40:05
共通処理のDLLに共通のメッセージとかをリソースで持たせられないかと思って・・・
Designer.csいじってもコンパイルすると元に戻るからなぁ・・・
681デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/07/09(月) 16:38:29
バイト数があっていても
バイナリエディタで中身を表示したら 00 の羅列だったとか
683デフォルトの名無しさん:2007/07/09(月) 16:44:33
Converter
684681:2007/07/09(月) 17:20:44
Converter.ChangeTypeでいけそうです。さんくすこ。
685デフォルトの名無しさん:2007/07/09(月) 22:24:55
StackやらQueueってなんでCapacityプロパティないんだろ
内部実装は配列なのに・・・
686デフォルトの名無しさん:2007/07/09(月) 22:32:18
何に使うの?
687デフォルトの名無しさん:2007/07/09(月) 22:51:18
入れた順に消費するプール的なもん作ろうかなと思ったんだけど。

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

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

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



private void buttonOK_Click(object sender, EventArgs e) {

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

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







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

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

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

技名みたいだ


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

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

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

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

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

ということをやりたいのですができません。
どうしたらよいんでしょうか。
741デフォルトの名無しさん:2007/07/11(水) 11:13:14
フィールドならstring[] alp = {"a","b","c"};
http://msdn2.microsoft.com/ja-jp/library/acdd6hb7(VS.80).aspx
742741:2007/07/11(水) 11:13:56
肝心のreadonly抜けてたわごめん
743デフォルトの名無しさん:2007/07/11(水) 11:27:25
WindowsUpdateで.net1.0〜2.0の更新来たな。
なんだかすごいコアなファイルまで置き換わるみたいだけど
大丈夫かよコレ?
744デフォルトの名無しさん:2007/07/11(水) 16:18:20
>>740
readonlyにしたところで alp[2] = "hoge"; みたいなことは防げないので注意。
これを防ぎたければインデクサにすればいい。
745デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/07/11(水) 20:25:07
前のバージョンみたいなタブコントロールって2.0でなくなったんだっけ?
タブの部分だけをセレクタとして使いたいんだけど…
コンテナなんて要らない。
748デフォルトの名無しさん:2007/07/11(水) 20:29:14
前からない。
749デフォルトの名無しさん:2007/07/12(木) 09:00:01
VC#2005Expressってバックアップ機能みたいなものはないのでしょうか?
バックアップというフォルダはあるみたいなのですが…

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

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

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

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

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


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

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

つーかレジストリ読むだけで壊れるって、それなんてWindowsME?
758デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/07/12(木) 17:26:59
普通に子ウィンドウにしとけば手前に表示されるだろ。
761759:2007/07/12(木) 17:45:34
>760 回答ありがとうございます。
ひとつのフォームに対する親子関係ではなくて
story3にあるようにアプリAのどの窓よりも前面に表示したいのです。
762デフォルトの名無しさん:2007/07/12(木) 17:52:23
SetWindowPosでごにょごにょやるしかない
763デフォルトの名無しさん:2007/07/12(木) 18:36:23
>>759
はずしてるかもしれないけど、

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

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

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

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

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

>766
簡単ではありますが、常にtimerのイベントプロシジャーが実行されるので
わがままですが個人的にはその実装はしたくありません。
768デフォルトの名無しさん:2007/07/12(木) 18:56:11
A で WM_WINPOSCHANGED を監視して・・・
769デフォルトの名無しさん:2007/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;
}

こういう動作のことでいいの?
770759:2007/07/12(木) 20:29:08
>>769
TopMost= true にしたときに ポップアップウィンドウにフォーカスが移るので
で駄目でした。
771デフォルトの名無しさん:2007/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();
}
}
とかすればいいじゃん。
772759:2007/07/12(木) 21:47:14
>>771
そんなに簡単じゃないです・・・
やってみるとわかります・・・。
773デフォルトの名無しさん:2007/07/12(木) 21:56:30
実際やってみて言ってるってのw
774デフォルトの名無しさん:2007/07/12(木) 22:10:25
>>771 そんなアクティブが言ったりきたりする実装(゚听)イラネ
775デフォルトの名無しさん:2007/07/12(木) 22:11:45
SWP_NOACTIVATEつきでSetWindowPos呼べばいいよ
776デフォルトの名無しさん:2007/07/12(木) 23:57:22
>ポップアップウィンドウを消さないとその他のフォームが操作できないので
>ShowDialogは却下です。
先に飼い解けや
777デフォルトの名無しさん:2007/07/13(金) 01:07:50
いまだに意味が分からない。
ただ単にアプリAで常に最前面に表示するフォームと何が違うの?
778デフォルトの名無しさん:2007/07/13(金) 01:29:59
ウザ・・・
779デフォルトの名無しさん:2007/07/13(金) 01:54:30
対象のフォームの
Enterイベントで this.TopMost = true;
Leaveイベントで this.TopMost = false;
で駄目かな
780デフォルトの名無しさん:2007/07/13(金) 01:56:49
ShowDialog(this)とかは趣味でやってくれ
781デフォルトの名無しさん:2007/07/13(金) 02:26:47
↑何で趣味なん?
782デフォルトの名無しさん:2007/07/13(金) 03:29:54
つか趣味だとどうなんだ?
783デフォルトの名無しさん:2007/07/13(金) 07:15:18
俺もわかんね。
何が趣味なんだろ。
784デフォルトの名無しさん:2007/07/13(金) 07:28:28
趣味はShowDialog(this)です
785デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/07/13(金) 11:51:17
いみわかんね。
ステップ実行で追えよ。
788デフォルトの名無しさん:2007/07/13(金) 12:09:57
Goukei を0.0と判断したのはどれよ
789デフォルトの名無しさん:2007/07/13(金) 12:18:53
>>786
http://pc11.2ch.net/test/read.cgi/tech/1182948981/184-

なんでふらっとスレからわざわざこっちに移動してくるんだ?
790786:2007/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["合計金額"];
}
791786:2007/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デフォルトの名無しさん:2007/07/13(金) 12:33:38
コーティング……
793デフォルトの名無しさん:2007/07/13(金) 12:40:26
1.数量をマイナスする意図が不明
2.二度DataRowCollectionループする必要性が不明
3.ちゃんと変数名つけろと会社で怒られないのか不明
4.Goukei使ってないのが不明
5.コーティング
6.ふらっとに帰れ
794デフォルトの名無しさん:2007/07/13(金) 13:15:06
>>789
のスレでもコーティングだよ(;´Д`)
と、とにかくチョコレートで頼むわ。。

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

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

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

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

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

と思ったんですが.NETでアセンブリっていえばコードの集合のことですよね。
コードそのものはなんていうんだろ・・・
806デフォルトの名無しさん:2007/07/13(金) 21:11:04
>>805
それは違う。
MSILはテキスト状態のものもバイナリ状態のものもIL(中間言語)と呼ぶ。
アセンブリは複数(または単数)のILモジュールをまとめたもの。
807デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/07/13(金) 22:00:37
>>806
だな

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

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

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

おねがいします。
812デフォルトの名無しさん:2007/07/14(土) 02:51:20
>>811
時と場合による、普通は出来ないので
目を閉じるのがよい
813デフォルトの名無しさん:2007/07/14(土) 02:55:44
OnPaintをオーバーライドして何もせずreturnすればよか
814デフォルトの名無しさん:2007/07/14(土) 02:56:04
わかりました。ありがとうございます
815デフォルトの名無しさん:2007/07/14(土) 03:24:50
>>813
やってみます。ありがとうございます
816デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/07/14(土) 15:04:07
>右クリックのみ有効のまま

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

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

ひょっとしてその"notifyIcon_MouseClick"にイベントがヒモ付けされてない、
なんてオチだったりしないか?
822デフォルトの名無しさん:2007/07/14(土) 19:23:22
だったら右クリックも出ないんじゃね?
823デフォルトの名無しさん:2007/07/14(土) 20:09:19
treeView1.Nodes.Add(new TreeNode("AAA"));
で追加したノードを削除するために
treeView1.Nodes.RemoveByKey("AAA");
を実行したのですが、削除されません。
何がいけないのでしょうか?
824デフォルトの名無しさん:2007/07/14(土) 20:56:36
TreeNode( string ) はTextプロパティしか設定しないから。
825デフォルトの名無しさん:2007/07/14(土) 20:59:56
>>822
ContextMenuStripプロパティは設定してるんだろ。
テストしたけどContextMenuStrip設定して手もMouseClick普通に発生する。
>>821に一票
826816:2007/07/14(土) 23:09:07
>>821-822,825
>>821さんの通りでしたorz
初歩的なミスにずっと気づいてなかったとは・・・。
無事解決できました。ありがとうございました。
827デフォルトの名無しさん:2007/07/14(土) 23:32:20
こういうときって普通、本当に表示メソッドが呼ばれてるかどうか調べないか?
ここで質問するほうがよっぽど面倒な気がするが…
828デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/07/15(日) 03:04:27
string.Join
831829:2007/07/15(日) 03:14:33
>>830
即レス感謝です。ありがとー
832デフォルトの名無しさん:2007/07/15(日) 12:26:07
でもそれ「ふらっと」でも恥ずかしくて聞けない類の質問だと思うよw
833デフォルトの名無しさん:2007/07/15(日) 12:30:24
まぁ最低限よく使うクラスくらいはMSDNライブラリを読んでおいたほうがいいね
834デフォルトの名無しさん:2007/07/15(日) 12:34:44
>>833
それは流石に無理があると思うが・・・
「よく使うクラス」って意外に多いよ。
むしろインテリセンスを活用するべき。メソッドの説明まで出るんだし。
835デフォルトの名無しさん:2007/07/15(日) 12:38:29
んーそうかな
1日や2日で済むくらいじゃない?
想像してる範囲が違うのかな
836デフォルトの名無しさん:2007/07/15(日) 12:40:24
Formのメンバとか全部読むのか?
ある程度知識がないと何が大事な情報かなんてわからないからキリがない
837デフォルトの名無しさん:2007/07/15(日) 12:50:06
全てのメンバの詳細な説明までは読んでないよ
838デフォルトの名無しさん:2007/07/15(日) 12:58:20
まあ水掛け論になりそうだねw
俺は834こそ「無理がある」と思うけど。

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

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

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

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

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

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

Aそう

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

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

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

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

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

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

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

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

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

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

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

>>869
読んでおきます。
871デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/07/16(月) 23:13:38
???
873デフォルトの名無しさん:2007/07/16(月) 23:14:40
TabPageとTreeViewのツールチップが98系で化けるです。
獏ですか(怒)?
874デフォルトの名無しさん:2007/07/16(月) 23:15:22
>>873
98で使うな。
875デフォルトの名無しさん:2007/07/16(月) 23:19:26
98で使う方が悪い
876デフォルトの名無しさん:2007/07/16(月) 23:25:01
>item.DropDown.Items.Add("item1_1");

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


あ、丸いボタンってどうやって作るんですか?
みたいな
936デフォルトの名無しさん:2007/07/19(木) 02:48:34
フナムシども、黙れ!
937デフォルトの名無しさん:2007/07/19(木) 02:49:39
やなこった
938デフォルトの名無しさん:2007/07/19(木) 02:50:02
>>936
お前の母ちゃんでべそだろ?
939デフォルトの名無しさん:2007/07/19(木) 02:51:21
だらだら消費しようぜ
次スレたてればいいことだし
940デフォルトの名無しさん:2007/07/19(木) 02:53:57
じゃぁ>>999が次スレ立てろよ
で、>>1000が壮大な質問しろ
941デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/07/19(木) 06:19:33
>>942
C#
945デフォルトの名無しさん:2007/07/19(木) 08:56:11
C#って体験版ダウンロードできないの?
946デフォルトの名無しさん:2007/07/19(木) 08:59:06
C#ってパスカルなの?
947デフォルトの名無しさん:2007/07/19(木) 08:59:21
948デフォルトの名無しさん:2007/07/19(木) 09:03:09
なんだよー
public static void Main()とかあるじゃん
VBのがかんたん!
949デフォルトの名無しさん:2007/07/19(木) 09:04:03
なんだよー
ウインドウのサイズも指定しないとだめなんじゃん
死ねよ
950デフォルトの名無しさん:2007/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
953デフォルトの名無しさん:2007/07/19(木) 09:48:12
何こいつ
954デフォルトの名無しさん:2007/07/19(木) 10:07:05
ふらっと以下だな
955デフォルトの名無しさん:2007/07/19(木) 10:15:43
Macのタスクバー?みたいな与えられたRectangleの中でマウスの位置に応じたアイテムが拡大表示されながら左右に動くことで全体を表示できるコントロールあるじゃないですか。
名前付けるとしたらなんと言ったらいいのかね?
956デフォルトの名無しさん:2007/07/19(木) 10:16:41
>>955
クラス名・変数名に迷ったら書き込むスレ。Part10
http://pc11.2ch.net/test/read.cgi/tech/1180146315/
957895:2007/07/19(木) 10:33:53
セクション名を指定して読むのではなく、app.config/web.configをConfigureオブジェクトとして読み込みたいです。
958デフォルトの名無しさん:2007/07/19(木) 13:00:44
>>955
こことか >>956 で聞くよりも、Mac 関係の板に行って
「あれってみんななんて呼んでる?」って聞くほうがはやくね?
959デフォルトの名無しさん:2007/07/19(木) 13:02:26
>>951
賢いレイアウトしてもらいたければ WPF 使え。
そのサイトに WPF の説明もある。
Window.SizeToContent で、中身にあわせた自動 sizing してくれる。
960デフォルトの名無しさん:2007/07/19(木) 13:28:05
>>958
ドックとしか言われないと思うよ。
961デフォルトの名無しさん:2007/07/19(木) 13:41:52
>>958 んーなんつうかDocそのもののことじゃなくて、ああいう感じのスクロールバーとかなしでマウス位置に応じてぐりぐりって動くものを一般的になんと言うかなんだけど・・・
どうしよう。
962デフォルトの名無しさん:2007/07/19(木) 13:41:58
>>951
using System.Windows.Forms;

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

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