ふらっとC#,C♯,C#(初心者用) Part84
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2012/01/17(火) 03:09:38.91「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からない場合など、勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。
なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっとC#,C♯,C#(初心者用) Part83
http://toro.2ch.net/test/read.cgi/tech/1325511769/
■関連スレ
C#, C♯, C#相談室 Part69
http://toro.2ch.net/test/read.cgi/tech/1323354868/
ミスターサタンのC#相談室
http://hibari.2ch.net/test/read.cgi/tech/1092656075/
VB.NET質問スレ(Part38)
http://toro.2ch.net/test/read.cgi/tech/1325083428/
くだすれC++/CLI(初心者用)part2
http://hibari.2ch.net/test/read.cgi/tech/1268613679/
0002デフォルトの名無しさん
2012/01/17(火) 03:10:19.04コードの量が多い場合は下記サイトを使うなどしたほうがいいかも
http://ideone.com/
http://pastebin.com/
コードを貼り付けてrun codeのチェックをはずしてsubmitボタンを押すと
コードを鯖側にアップして専用のアドレスが発行されます
0003デフォルトの名無しさん
2012/01/17(火) 03:34:25.33乙
0004デフォルトの名無しさん
2012/01/17(火) 17:02:22.90乙であります
0005デフォルトの名無しさん
2012/01/17(火) 18:41:24.550006デフォルトの名無しさん
2012/01/17(火) 19:32:57.79ファイルの変更検知できるのは確認できました。
しかし、監視先のパスを別マシン (OS:WindowsServer2008)上の共有フォルダ
"\\ServerName\Test" に変更したところ、エラーはいっさい出なかったのですが、
ファイル変更を検知できませんでした。
また同様にネットワークドライブとして、"\\ServerName\Test" を "z:\" に
割り当て、監視先を "z:\" にした場合も検知できませんでした。
どうすれば、別マシン(ファイルサーバー)にある
ファイルの変更を検知できるようになるのでしょうか?
0007デフォルトの名無しさん
2012/01/17(火) 20:02:06.55>バッファ サイズを大きくすることで、ファイル システム変更イベントの見落としを予防できます
http://msdn.microsoft.com/ja-jp/library/system.io.filesystemwatcher.internalbuffersize%28v=vs.80%29.aspx
ためしに大きくしてみたら
0008デフォルトの名無しさん
2012/01/17(火) 20:05:48.01>イベントを見落とさないために、次のガイドラインに従ってください。
>*InternalBufferSize プロパティを使用してバッファ サイズを大きくすることで、
>ファイル システム変更イベントの見落としを予防できます。
>*ロング ファイル名を使ってウォッチすることは避けます。短い名前に変更することを検討してください。
>*イベントの処理コードをできるだけ短くします。
0009デフォルトの名無しさん
2012/01/17(火) 20:24:35.150010デフォルトの名無しさん
2012/01/17(火) 20:27:10.41http://awabi.2ch.net/test/read.cgi/poverty/1326781620/
0011デフォルトの名無しさん
2012/01/17(火) 20:31:28.880012デフォルトの名無しさん
2012/01/17(火) 20:42:24.44>null 値である場合には右側のオペランドを返します。
http://msdn.microsoft.com/ja-jp/library/ms173224%28v=vs.80%29.aspx
0013デフォルトの名無しさん
2012/01/17(火) 21:19:18.58バッファサイズ相当大きくしても変化なしです。
ネットワーク越しでも普通にイベント発生してるんですかね?
0014デフォルトの名無しさん
2012/01/17(火) 21:47:01.03この記述が嘘でなければ発生してるはずだが…
0015デフォルトの名無しさん
2012/01/17(火) 21:47:18.83特にネットワーク越しで使用するときの注意点とか書いてないから
イベントは発生してると思うんだけどね
>バッファサイズ相当大きくしても変化なし
>バッファーは 4 KB 以上に設定できますが、64 KB 以下である必要があります。
>InternalBufferSize プロパティを 4,096 バイト未満に設定しようとした場合、
>値は破棄され、InternalBufferSize プロパティは 4,096 バイトに設定されます。
>最適なパフォーマンスを得るには、Intel ベースのコンピューターでは 4 KB の倍数を使用します。
らしいけど「64Kb以下かつ4Kbの倍数」になってる?
0016デフォルトの名無しさん
2012/01/17(火) 22:11:24.76Windows7 64bitのZ:\に割り当てて監視したけど検知できるなぁ
InternalBufferSizeはデフォのまま。
0017デフォルトの名無しさん
2012/01/17(火) 22:47:40.55VS2010版にはnull合体演算子って書いてあるがな…
0018デフォルトの名無しさん
2012/01/17(火) 22:50:46.66Form1がメインウィンドウでForm2が設定画面、という形式のツールを作ってます。
Form2ではListviewを使って設定を管理しているのですが、
Form2を閉じたときにForm1にListviewの中身を送りたいです。
Form1でそれを設定として読み込んで、別の処理をさせたいのです。
フォーム間でのデータの受け渡しのサンプルはいくつかあったのですが、
配列を送るにはどのような形で実装したらいいでしょうか?
クラスを作って送るのが良いのかなと思いましたが、
クラス自体まだよく分かってないのです。
できればサンプルコードが載ってるページとかあると嬉しいです。
0019デフォルトの名無しさん
2012/01/17(火) 22:54:26.32設定を持つクラスをシングルトンで共有するとか、いったんファイルに書きだして
それを改めて読み込むとか
0020デフォルトの名無しさん
2012/01/17(火) 22:57:41.77. publid static Data[] Data;
}
みたいなの作ればいい
0021デフォルトの名無しさん
2012/01/17(火) 23:01:49.37そこで配列化して返せばいいでしょ
0022デフォルトの名無しさん
2012/01/17(火) 23:02:07.45・Form1は設定クラスにデータバインド
・Form2を作る時に設定クラスのインスタンスを渡す
・Form2はインスタンスをコピーして、そちらを変更する
・Form2でOKや適用が押された場合、設定値を最初に渡されたForm1の設定インスタンスに反映する
て感じでINotifyCollectionChangedを使うといいよ(ニッコリ
0023デフォルトの名無しさん
2012/01/17(火) 23:04:14.57. public Data[] Data;
. ...
}
みたいにメンバ変数を宣言。
Form1 クラスで、
void button1_Clicked(object sender, EventArg e) {
. var dialog = new Form2();
. dialog.ShowDialog();
. Console.WriteLine(dialog.Data);
}
0024デフォルトの名無しさん
2012/01/17(火) 23:24:21.49うおお、短時間でこんなにw
本当にありがとうございます。
皆様レスを頼りになんとか頑張ってみます。
0025デフォルトの名無しさん
2012/01/17(火) 23:31:33.95チュートリアル : オブジェクトによるダイアログ ボックス情報の一括取得
http://msdn.microsoft.com/ja-jp/library/cakx2hdw.aspx
躓いたら、また質問するがよろしアル。
0026デフォルトの名無しさん
2012/01/17(火) 23:39:47.41ひょっとすると、送信できるサイズの上限超えてたから、
イベントが送信されてなかったのかな?
特に例外発生していなかったから、見落としてたが、
バッファから溢れた場合もエラー吐いてなかったし、
不適切なサイズを指定した場合もひょっとして例外は発生しないのか?。
いまは実行できる環境にいないので、とりあえず明日試してみます。
0027デフォルトの名無しさん
2012/01/17(火) 23:45:27.82http://social.msdn.microsoft.com/Forums/ja/netfxgeneralja/thread/3674b121-0be5-432e-a5c4-9e64f9565e49
おそらくバッファサイズが原因の可能性が高いです。
これで、今日はゆっくりと眠れそうです。
みなさん、本当にありがとうございました。
0028デフォルトの名無しさん
2012/01/18(水) 10:00:02.32いつも思うけど全く読みたくなくなるチュートリアルは誰のためにあるんだろ
MSは現状把握してるのか
0029デフォルトの名無しさん
2012/01/18(水) 10:04:43.610030デフォルトの名無しさん
2012/01/18(水) 12:30:00.73そのフォルダを無視して作業を続行するにはどうすればよいでしょうか?
以前ここでtry-catchを使えと言われたんですが
string[] subFolders = System.IO.Directory.GetDirectories(
@"C:\test", "*", System.IO.SearchOption.AllDirectories);
このような場合どうすればいいんでしょうか
0031デフォルトの名無しさん
2012/01/18(水) 12:50:40.35前のバージョンだとブレークポイントを示す赤い玉の上で右クリックで条件を設定するウィンドウが出たような気が。
0032デフォルトの名無しさん
2012/01/18(水) 13:28:49.010033デフォルトの名無しさん
2012/01/18(水) 13:57:38.49そこまで操作するならDirectoryInfoクラス使うべきだよ
そっち使って色々試してみたらいい
0034デフォルトの名無しさん
2012/01/18(水) 14:31:55.79このサンプルは反変性の例として妥当なんでしょうか。
自分の頭では、派生クラスを基本クラス型に渡しているので、共変性のように思えます。
引用元はここです。
http://code.msdn.microsoft.com/windowsdesktop/11-covariance-contravarianc-ef078691#02
0035デフォルトの名無しさん
2012/01/18(水) 15:39:10.70では普通は何を使うものなのでしょう?
0036デフォルトの名無しさん
2012/01/18(水) 15:42:48.010037デフォルトの名無しさん
2012/01/18(水) 16:24:40.04独立した型。
内部ではintとして扱かわれていることが多いけど
0038デフォルトの名無しさん
2012/01/18(水) 16:32:58.500039デフォルトの名無しさん
2012/01/18(水) 17:12:00.12名前付き識別子。
enumを定義するとクラス同様に型として認識されるので、内部の扱いがintであっても別物になる。
でも、bit演算に応用したりもできる。
0040デフォルトの名無しさん
2012/01/18(水) 17:17:08.54言語仕様的に本当にそれで良いのか?
0041デフォルトの名無しさん
2012/01/18(水) 17:49:46.70C# 以前の問題。
0042デフォルトの名無しさん
2012/01/18(水) 17:50:14.00値は定数だろ
0043デフォルトの名無しさん
2012/01/18(水) 18:15:15.62C++で作成されたdllにポインタを渡したいのですが
[StructLayout(LayoutKind.Sequential]
public struct hoge
{
Public UInt32 aaa;
Public Uin64 bbb;
Public IntPtr ccc;
(その他配列等色々)
}
で宣言された構造体のポインタのポインタを渡すにはどうしたら良いのでしょうか?
C++の関数宣言は
ret hage(hoge** test);
ですが、C#で ret hage(ref hoge test);ではtestの先頭にアドレスっぽい値が入っていました。
さらにtestも配列なので、少し混乱しています。(構造体の配列のポインタのポインタ 構造体の中にも配列やポインタ有り)
ttp://oshiete.goo.ne.jp/qa/2119623.html
を参考にしようとしてみましたが、hoge* testと書くとマネージ型のアドレスの取得は出来ませんと出てしまいます。
よろしくお願いします。
0044デフォルトの名無しさん
2012/01/18(水) 18:22:21.31ret hage(ref hoge[] test);
0045デフォルトの名無しさん
2012/01/18(水) 18:32:24.61hoge[] test = new hoge[10];と宣言し
ret = hage(ref hoge test);
とやると、ここでtry〜catchすらすっとばして関数を無理矢理終了させてしまいます。(エラー表示は一切無し)
0046デフォルトの名無しさん
2012/01/18(水) 18:46:28.260047デフォルトの名無しさん
2012/01/18(水) 19:00:37.77outでもやってみましたが、結果は同じで先頭だけnullから数値に変わってました。
0048デフォルトの名無しさん
2012/01/18(水) 19:01:10.84C++が要求しているもの
*[hoge, hoge, hoge, hoge]
>>44の浅知恵
unsafeかGCHandleでIntPtrを配列に入れてしまうのが手っ取り早いんではないか
0049デフォルトの名無しさん
2012/01/18(水) 19:04:50.00構造体使ってるのは何か意味があるか?
0050デフォルトの名無しさん
2012/01/18(水) 19:07:17.080051デフォルトの名無しさん
2012/01/18(水) 19:18:43.52005243
2012/01/18(水) 19:20:08.52構造体の中のポインタが画素値で、整数値がパラメータです。
画像を複数枚扱うので、hogeも配列になっています。
C++の要求がhoge** testなので、枚数分ループしていますが
unsafe hoge* testを行うとマネージ型のアドレスは取得出来ませんと表示され、
hoge[]test と書くとtryすら無視して関数を終了してしまうのが現在の状態です。
0053デフォルトの名無しさん
2012/01/18(水) 19:31:44.560054デフォルトの名無しさん
2012/01/18(水) 19:31:55.13そしたら「ここへ入力」ってところがあったのでファイルって書きました
入力した所をクリックするとサブメニューが出てきたのでそこに終了って書きました
これで終了を押すとプログラムを終了するだけのプログラムを作ろうと思ってます
そこで終了をダブルクリックしたらForm1.csに以下のように
private void 終了CToolStripMenuItem_Click(object sender, EventArgs e)
{
}
ってコードの中に日本語がまじってしまうんですが(終了CToolStripMenuItem_Clickの部分)
これって問題はないのですか?
メニューを作るときってこういうものとして思えばいいですか?
0055デフォルトの名無しさん
2012/01/18(水) 19:35:24.35やってる人がいるかって言われると100人に1人よりは少ないと思う
005643
2012/01/18(水) 19:41:37.44ttp://d.hatena.ne.jp/Schima/20090512/1242139542
を参考に
int sz = Marshal.SizeOf(test[i]);
IntPtr ptr = Marshal.AllocHGlobal(sz);
Marshal.StructureToPtr(test[i], ptr, false);
res = hage(ref ptr);
と、やってみましたがダメでした。
0057デフォルトの名無しさん
2012/01/18(水) 19:50:17.85ret = hage(IntPtr[] test);
まずこれでどうぞ
IntPtrの配列にhogeを1個1個収めたまえ
0058デフォルトの名無しさん
2012/01/18(水) 19:53:03.63hoge[] buf = new hoge[枚数];
fixed (hoge* pBuf = buf) {
hoge* temp = pBuf;
hage(&temp);
}
とかじゃないの
どうせやってることが既に安全じゃないからunsafeでいいよ
0060デフォルトの名無しさん
2012/01/18(水) 20:04:55.46今日も部屋に篭ってAVで射精してる
0061デフォルトの名無しさん
2012/01/18(水) 20:10:44.61hoge[] a = new hoge[枚数];
fixed (hoge* pa = a) {
hoge*[] b = new hoge*[枚数];
for (int i = 0; i < 枚数; i++) b[i] = pa + i;
fixed (hoge** pb = b) { hage(pb); }
}
0062デフォルトの名無しさん
2012/01/18(水) 20:40:39.64重くなってハングアップしてしまいます
なぜでしょうかという質問が来るのではないか?
0063デフォルトの名無しさん
2012/01/18(水) 21:05:54.32昔からヘルプの使いやすさはボーランド(エンバカデロに開発部門売却前のね)
情報量はMSってのは言われてたな
0064デフォルトの名無しさん
2012/01/18(水) 21:26:44.59例えば以下のような場合はなんて書きますか?
private void test(string str)
{
this.abc = str + "@@@@@";
}
0065デフォルトの名無しさん
2012/01/18(水) 21:28:10.12/// 知らねーよ
/// </summary>
0066デフォルトの名無しさん
2012/01/18(水) 21:31:08.15フォームアプリの時に自動でできるprogram.csという項目は後から追加するにはどうやればいいですか?
0067デフォルトの名無しさん
2012/01/18(水) 21:35:19.65それじゃ「テスト用」以上の何も書けない。
0068デフォルトの名無しさん
2012/01/18(水) 21:38:11.45名前でソート、更新日時でソートなどをする場合はlistboxとかlistviewとかありますが何をつかうのでしょうか?
0069デフォルトの名無しさん
2012/01/18(水) 21:50:15.780070デフォルトの名無しさん
2012/01/18(水) 22:25:51.57ステマ相関図画像更新(1/17)
http://gazo.restspace.jp/img-box/img20120117010742.jpg
テレビや新聞、大規模なネットサイトで「今流行の」「今話題の〜」「女性に人気の〜」等と言われるものはほぼ全て
この画像上部、○○堂がコントロールしている。
・世間にどの程度流行らせるか
・流行に乗り遅れる(流行に乗り遅れさせる)人間をどのくらい作るか
・話題に乗り遅れた人間に対してどの程度の疎外感を与えるか
・いつその流行を終わらせるか
2chもステマ会場
http://www.dotup.org/uploda/www.dotup.org2526030.jpg
ちなみに ハリーポッターと賢者の石の 「石」とはテレビのこと(著者が執筆当時)
ダイオード→半導体→シリコン→石
賢者とはテレビを見る人間でも番組を作る人間でもなく、テレビを操る人間。
007143
2012/01/18(水) 22:42:23.27シンプルなのが一番ですよね。
ちょっと試してみます。
>>61
fixedで確保しながらやるのも良さそうですね、ありがとうございます。
>>62
とりあえず、メモリリークだけは無いよう気をつけます。
0072デフォルトの名無しさん
2012/01/18(水) 23:28:40.92「種類」とはエクスプローラにあるやつです
a.txtだったら「テキストファイル」
b.chmだったら「コンパイルされた HTML ヘルプ ファイル」
というのです
0073デフォルトの名無しさん
2012/01/18(水) 23:38:31.110074デフォルトの名無しさん
2012/01/18(水) 23:42:00.72必ずsummaryを書く
/// <summary>
/// 何かを行います。
/// </summary>
引数がある場合、インデクサの場合はparamを付ける
paramにはseeで型へのリンクを付けとく
/// <param name="str">
/// 何かを表す<see cref="T:System.String" />。
/// </param>
戻り値がある場合はreturns
// /// <returns>戻り値の説明です。</returns>
プロパティの場合はvalueを書く
// /// <value>プロパティの説明です。</value>
あと発生する可能性のある例外を列挙する
// /// <exception cref="T:System.Exception">気が向いた場合。</exception>
ジェネリックならtypeparamとかも要る
0075デフォルトの名無しさん
2012/01/19(木) 00:09:49.97遅レスだが
out IntPtr hogePtr
で受けとって、Marshal.PtrToStructureでいいんじゃないの?
0076デフォルトの名無しさん
2012/01/19(木) 00:19:25.66普通に Program.cs って名前のソースコードを追加するだけ。(名前は何でもいいけど)
ソリューションエクスプローラーから今作成しているプロジェクト名の項目を
左クリックして追加 -> クラス
Program.cs には Main メソッド (エントリーポイント) があるだけで、
他のソースファイルと違うところ(設定とか)は特にないよ。
ソースの中身はいつも自動で作成されているコードを書けばいい。
Main メソッドには [STAThread] ってのをつけておかないと
フォームアプリは動作しないからつけること。(コンパイルエラーが出ると思う)
0077デフォルトの名無しさん
2012/01/19(木) 00:22:07.04わかりやすい解説です
ありがとうございます
0078デフォルトの名無しさん
2012/01/19(木) 00:24:36.92listviewでやってしまいました
0079デフォルトの名無しさん
2012/01/19(木) 02:54:00.780080デフォルトの名無しさん
2012/01/19(木) 04:35:52.42SHGetFileInfo + SHGFI_TYPENAME
0081デフォルトの名無しさん
2012/01/19(木) 10:26:33.57C++みたいにポインタの参照先の値を見るにはどうすれば良いのでしょうか?
例)void* hoge;
C++のウォッチ式:(int*)hoge,50
(とりあえずint型にして50個表示させてみる)
よろしくお願いします。
0082デフォルトの名無しさん
2012/01/19(木) 10:41:41.410083デフォルトの名無しさん
2012/01/19(木) 11:08:33.330084デフォルトの名無しさん
2012/01/19(木) 12:40:14.45買う意味ありますかね?ウェブよりわかりやすいというレビューがありますがステマでしょうか?
0085デフォルトの名無しさん
2012/01/19(木) 12:46:33.59ここで4版がちょっと見れる
0086デフォルトの名無しさん
2012/01/19(木) 12:53:48.16ありがとうございます。情報量とわかりやすさがかなり上だと思うので買います。
俺、ステマみうたいだな。
0087デフォルトの名無しさん
2012/01/19(木) 13:45:26.83正方形です。具体的にはImageが32x32でボタンが38x38。またAutoSizeはFalseで、DockはNoneです。
開発したPC(Win7)だと意図通りに正方形のボタンが表示されますが、別のPC(Win7)で実行したところ
Imageの両脇に数ピクセルの余白は表示されてやや長方形のボタンになってしまいます。
AutoSizeがTrueだとImageだけのときなら大丈夫ですが、テキストも可変で重ねるためその対処はとれません。
なにか原因と対策こころあたりありませんか?
0088デフォルトの名無しさん
2012/01/19(木) 16:43:38.54このTabPageを tabControl1.TabPages.RemoveAt(3);みたいに消した場合って中に配置したコントロールも全て削除されているのでしょうか?
0089デフォルトの名無しさん
2012/01/19(木) 17:03:52.45コントロールのツリーから消えてることは間違いないが
メモリから消えているかとは別問題だ
0090デフォルトの名無しさん
2012/01/19(木) 17:29:35.31念のためそれぞれ指定して消すようにします
0091デフォルトの名無しさん
2012/01/19(木) 17:30:53.74ラベルの一番最後のやつのTextを変更したいのですが
一番最後のラベルにアクセスする方法を教えてください
0092デフォルトの名無しさん
2012/01/19(木) 17:32:48.12009388
2012/01/19(木) 19:39:48.81こう書くとそもそもタブは消えてるのでアクセスできません
テストできる方法を伝授してください
if (null != tabControl1.TabPages[5].Controls["listView1"])
{
MessageBox.Show("true");
}
else
{
MessageBox.Show("false");
}
0094デフォルトの名無しさん
2012/01/19(木) 19:58:03.15ListView lv = tabControl1.TabPages[5].Controls["listView1"];
0095デフォルトの名無しさん
2012/01/19(木) 20:41:14.46答から言えば中のコントロールのDisposeメソッドは呼ばれない
ただ、どこからも参照されていなければGCによって破棄される
アンマネージリソースをフレームワークが知らない形で持っていたらリークするが
それもプロセスが終了する時点で解放される
0096デフォルトの名無しさん
2012/01/19(木) 21:24:45.50label1.Textだったら毎回label1.Textって呼び出すよりも
string label = label1.Textって感じで変数にいれたほうがよいとかありますか?
0097デフォルトの名無しさん
2012/01/19(木) 21:27:04.84時間がかからないならそうでもない
普遍な答えはない
0098デフォルトの名無しさん
2012/01/19(木) 21:37:15.500099デフォルトの名無しさん
2012/01/19(木) 22:20:16.48そんなもん全く全然関係ない
Textプロパティのgetアクセサがどう実装されてるかによる
0100デフォルトの名無しさん
2012/01/19(木) 22:22:55.88ListView lv = (ListView)tabControl1.TabPages[0].Controls["listView0"];
if (null != lv)
{
MessageBox.Show("true");
}
else
{
MessageBox.Show("false");
}
って書いてTabPage[0]のタブを消してから実行したらfalseになりました
でもこれもtabControl1.TabPages[0]が消してからなのでlistViewが消えていrかどうかは分かりません
>>95
タブにlistviewを表示するだけなのでタブを消した時点でkistviewも破棄されたとみなしていいのですね
念のためコントロールを削除するようにするのがバグを生まないのかもしれないので手動で削除するようにします
0101デフォルトの名無しさん
2012/01/19(木) 23:51:36.61listViewをどこで宣言したかによる。
デザイナーで追加したコントロールならフォーム閉じるまで残ってる。
メソッドのスコープで宣言して追加したコントロールなら>>95の言うようにCG対象になる。
0102デフォルトの名無しさん
2012/01/20(金) 00:16:25.14フォームには予めデザイナーでTabControllのみ置いてあり
tabPageとlistViewはコードの中で生成してます
なのでtabPageを削除したらlistViewも勝手に削除されるってことでしょうか
と、ここでトラブルに遭遇したのですが
動的にtabPageとlistViewを5つ作成すると、tabPageは左からインデックス0〜4までになります。
ここでインデックス2のtabPageを削除すると、削除したtabPageから右側のtabPageのインデックスが変わってしまいます。
インデックス3のものが2に、インデックス4のものが3になるってことです。
tabPageとlistViewを作るとき
ListView lv = new ListView();
lv.Name = "listView" + (tabControl1.TabCount - 1).ToString();
といった感じでtabPageを追加したときのインデックスをlistViewにつけて作成しているので
インデックスが狂うとlistViewへアクセス(※後でプロパティを変更するときなど)できなくなってしまいます
これの解決法をアドバイスお願いします
0103デフォルトの名無しさん
2012/01/20(金) 00:39:03.42for (int i=0; i<TabPages.Controls.Count; i++) {
if (TabPages.Controls[i] is ListView) {
ListView lv = TabPages.Controls[i];
}
}
とでもやって探せばいいだろが
0104デフォルトの名無しさん
2012/01/20(金) 06:15:25.14すればいいでしょうか?
0105デフォルトの名無しさん
2012/01/20(金) 07:05:27.410106デフォルトの名無しさん
2012/01/20(金) 09:58:18.430,1,2,3,4 tabPageのインデックス
0,1,2,3,4 listViewのNameのお尻につく番号(listView0、 listView1・・・)
ここでtabPageのインデックス2を消す
0,1,2,3 tabPageのインデックス
0,1,3,4 listViewのNameのお尻につく番号(listView0、 listView1・・・)
ここで新たにtabPageを追加する
0,1,2,3,4 tabPageのインデックス
0,1,3,4,4 listViewのNameのお尻につく番号(listView0、 listView1・・・)
同じ名前を持ったlistView(インデックス3・4のlistView4)が出来てしまいます
0107デフォルトの名無しさん
2012/01/20(金) 10:13:08.830108デフォルトの名無しさん
2012/01/20(金) 10:30:40.91インデックスとかそれを含んだName文字列なんてタコなものじゃなくて他のidentifierで管理しようよ
0109デフォルトの名無しさん
2012/01/20(金) 10:32:08.000110デフォルトの名無しさん
2012/01/20(金) 10:33:08.77c#以前の問題だなw
問題
複数あるものにそれぞれ一意の番号(被らない番号)をつけるにはどうしたらいいか?
0111デフォルトの名無しさん
2012/01/20(金) 10:49:44.21不幸なことに病気で二郎さんが亡くなりました
そのあとまた男の子が生まれました
子供を数えると三人いました
そこで四人目の子供に四朗と名付けました
結果として兄弟に二人の四朗がいます
ありえないだろ?
0112デフォルトの名無しさん
2012/01/20(金) 11:22:31.47Nameにランダムな文字列をつけてみました
これでインデックスを気にしなくてよくなりましたがこれでいいのでしょうか?
0113デフォルトの名無しさん
2012/01/20(金) 11:27:15.260114デフォルトの名無しさん
2012/01/20(金) 11:51:31.580115デフォルトの名無しさん
2012/01/20(金) 12:25:11.020116デフォルトの名無しさん
2012/01/20(金) 12:34:29.99誰がランダムな文字列つけてみろと言った?
人の話を聞かない奴に質問する権利はない
一人で一生悩め
0117デフォルトの名無しさん
2012/01/20(金) 17:47:56.29「有効ではないスレッド間の操作: コントロールが作成されたスレッド以外のスレッドからコントロール 'Form1' がアクセスされました」
というエラーが出てしまいます。どなたかご教示お願いします
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace Test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Thread t1 = new Thread(new ThreadStart(TextChanger));
t1.Start();
}
private void TextChanger()
{
Text = new DateTime().Ticks.ToString();
Thread.Sleep(1000);
}
}
}
0118デフォルトの名無しさん
2012/01/20(金) 17:49:33.320119デフォルトの名無しさん
2012/01/20(金) 18:10:12.210120デフォルトの名無しさん
2012/01/20(金) 18:26:20.53Sleep(1000)したあとにそのスレッドが終了するゾ
0121デフォルトの名無しさん
2012/01/20(金) 19:15:22.210122デフォルトの名無しさん
2012/01/20(金) 19:33:34.730123デフォルトの名無しさん
2012/01/20(金) 19:45:48.03少し古い情報とか、他の言語の情報で、非同期処理=スレッドって認識できちゃってる人多いしねぇ。
どうしたもんか。
0124デフォルトの名無しさん
2012/01/20(金) 21:19:30.140125デフォルトの名無しさん
2012/01/20(金) 21:28:25.25GUIDでランダムな文字列を作ってます
>>116
配列にするとメモリ食いませんか
0126デフォルトの名無しさん
2012/01/20(金) 21:34:55.110127デフォルトの名無しさん
2012/01/20(金) 21:37:43.29気にするポイントがずれてる
目の付け所がシャープじゃない!
0128デフォルトの名無しさん
2012/01/20(金) 21:40:02.230129デフォルトの名無しさん
2012/01/20(金) 21:42:05.81貴方が使うには手に余るってことでしょう
0130デフォルトの名無しさん
2012/01/20(金) 21:42:34.930131デフォルトの名無しさん
2012/01/20(金) 21:44:33.180132デフォルトの名無しさん
2012/01/20(金) 21:45:01.270133デフォルトの名無しさん
2012/01/20(金) 21:45:54.340134デフォルトの名無しさん
2012/01/20(金) 21:48:22.67それで
0135デフォルトの名無しさん
2012/01/20(金) 21:48:32.12インデックスを元にNameをつけていましたがそれをランダムな文字列を元にしたらできましたが
この方法が何故ダメだという理由が知りたいだけです
別に私は配列を教えてくれた方の人格を攻撃しているわけでもないので
0136デフォルトの名無しさん
2012/01/20(金) 21:51:35.49なぜそこにListViewを代入しておくという発想にならないんだろうか。
0137デフォルトの名無しさん
2012/01/20(金) 21:53:50.42メモリを食うのが嫌なんだろ?
だったら配列にすべきだ
0138デフォルトの名無しさん
2012/01/20(金) 21:54:43.12無くしちゃったらガベコレ来るまで破棄できなくてメモリの無駄でしょ?
0139デフォルトの名無しさん
2012/01/20(金) 21:57:39.360140デフォルトの名無しさん
2012/01/20(金) 22:03:43.730141デフォルトの名無しさん
2012/01/20(金) 22:06:06.25難しくてよくわかんねえよっ!!!!!!!!!!!!!!!!!!
0142デフォルトの名無しさん
2012/01/20(金) 22:09:02.55Lisperも括弧を節約するように
0143デフォルトの名無しさん
2012/01/20(金) 22:14:26.02コンパイル時に消えるような小手先の最適化は好むべきではないと考えます。
0144デフォルトの名無しさん
2012/01/20(金) 23:11:59.680145デフォルトの名無しさん
2012/01/20(金) 23:17:03.67インデックスを元にNameつけないで全部同じ"listView"ってNameにすればいい。
0146デフォルトの名無しさん
2012/01/20(金) 23:19:01.86すべてのNameにGUIDみたいな長い文字列を設定するとメモリ食いませんか
0147デフォルトの名無しさん
2012/01/20(金) 23:22:57.05おいおいそうするとかぶっちゃうじゃん
0148デフォルトの名無しさん
2012/01/20(金) 23:31:58.460149デフォルトの名無しさん
2012/01/20(金) 23:33:25.54おそらく、>>93に書いてあるみたいに
>tabControl1.TabPages[5].Controls["listView1"]
っていう風に名前指定で取りたいだけだと思うから、タブページ内でかぶらなければ問題ないんじゃない?
listViewはコード中で生成しているみたいだし。( >>102 )
0150デフォルトの名無しさん
2012/01/21(土) 00:13:11.280151デフォルトの名無しさん
2012/01/21(土) 00:18:52.96おい誰も配列にしろなんて言ってないだろ
>>111の件をまじめに考えてみろ
なんで普通は被らない名前つけてるか?
0152デフォルトの名無しさん
2012/01/21(土) 00:45:41.38>なんで普通は被らない名前つけてるか?
誰宛?
0153152
2012/01/21(土) 00:47:48.330154デフォルトの名無しさん
2012/01/21(土) 01:55:22.36(戻り値は別の結果を受け取るために使いたいので使えません)
0155デフォルトの名無しさん
2012/01/21(土) 02:00:38.76public HogeException(string message) : base(message) { }
}
エラーを起こしたい場所で
throw new HogeException("Hogeに失敗しました。");
0156デフォルトの名無しさん
2012/01/21(土) 10:38:20.12例外のクラスを自作したらいい
誰かが上に書いたクラスや
c# 例外 自作あたりでググって出てくるクラスに
自由にフィールドやプロパティやメソッド追加したらいい
http://tech.bbtune.com/csharp/items/4-24.html
0157デフォルトの名無しさん
2012/01/21(土) 10:38:30.22同じ名前のコントロールって使えたっけ?
0158デフォルトの名無しさん
2012/01/21(土) 11:15:53.18名前って何いってんの?
Nameプロパティのことだぞ?
0159デフォルトの名無しさん
2012/01/21(土) 11:16:36.14Nameプロパティってユニークなものじゃないといけないんじゃないの?
学校でそう習ったけどさ
0160デフォルトの名無しさん
2012/01/21(土) 11:34:34.22http://www.k4.dion.ne.jp/~anis7742/codevault/00050.html
ここまでは理解できたんですがここからForm1で取得した引数を処理するにはどうすればよいでしょうか
関連付けされたファイルが開かれた場合二重起動をしないで既存のプロセスで開くようにしたいのです
0161160
2012/01/21(土) 11:48:06.64何か問題ありますでしょうか
0162デフォルトの名無しさん
2012/01/21(土) 11:52:33.40コンテナごとにユニークじゃないとControlCollection.Item[string]で取得できないってだけじゃね
Nameでコントロール特定しようとか糞なことしなければどう使っても問題ない
>>160
問題ないけど
VB系の機能を持ち込むのは気持ち悪いという問題が……
0163デフォルトの名無しさん
2012/01/21(土) 12:43:50.550164デフォルトの名無しさん
2012/01/21(土) 12:48:14.05に書いてあるColumnHeaderのコピーの方法を教えてください
ColumnHeader[] columnHeader1 = { column1, column2 };
ColumnHeader[] columnHeader2 = = (ColumnHeader[])columnHeader1.Clone();
listView1.Columns.AddRange(columnHeader1); // ここの行をコメントアウトすると例外がでない
listView2.Columns.AddRange(columnHeader2);
ってやると例外が出ます↓
複数の場所にアイテム '名前' を追加または挿入することはできません。最初に現在の場所から削除するか、複製を作成しなければなりません。
0165デフォルトの名無しさん
2012/01/21(土) 12:50:10.62ttp://d.hatena.ne.jp/SuZu/20100712/1278954402
0166デフォルトの名無しさん
2012/01/21(土) 12:55:35.30ColumnHeader[] columnHeader2 = { (ColumnHeader)column1.Clone(), (ColumnHeader)column2.Clone() }
配列に対してCloneを呼んだ場合は「配列が」コピーされる
中身はコピーされていない
0167デフォルトの名無しさん
2012/01/21(土) 12:57:41.30今使ってるのはこれだ
Array.Clone メソッド
>Array の簡易コピーでは、要素が参照型であるか値型であるかに関係なく、
>その Array の要素だけがコピーされ、それらの参照が指している先のオブジェクトはコピーされません。
>新しい Array 内の参照は、元の Array 内の参照と同じオブジェクトを指します。
>対照的に、Array の詳細コピーでは、要素自体および要素が直接的または間接的に参照するすべての対象がコピーされます。
http://msdn.microsoft.com/ja-jp/library/system.array.clone(v=VS.80).aspx
0168デフォルトの名無しさん
2012/01/21(土) 13:18:22.95(略)
lock (threadpool){
if (threadpool[name] == null) {
threadpool[name] = new Array();
}
threadpool[name].Add(thread);
}
ってな感じでnullチェックをしているのですが、Addでぬるぽで落ちる場合が
あって困っています。
threadpool[name]は別スレッドで用済みになったときにnullにしています。
なのでその対策としてlockしているつもりなのですが、どうやら使い方を
間違えているようです。正しくはどうすべきなのでしょうか?
0169デフォルトの名無しさん
2012/01/21(土) 13:24:07.790170デフォルトの名無しさん
2012/01/21(土) 13:26:58.56あと.NETのバージョン2.0以上ならDictionary使えよ
0171デフォルトの名無しさん
2012/01/21(土) 13:30:40.69.net4.0から使えるディレクトリやファイル一覧の取得メソッドあるじゃないですか
やっぱり.net4.0から使えるメソッドのほうが早いのでしょうか?
0172デフォルトの名無しさん
2012/01/21(土) 13:31:50.400173デフォルトの名無しさん
2012/01/21(土) 13:33:04.43してないっす。ありがとうございます。
>>170
記憶をたどって書いたのでArrayじゃなかったかもしれないです。
0174デフォルトの名無しさん
2012/01/21(土) 13:33:04.22>>167
おおそうだったんですか!勉強になりました!ありがとうございました
0175デフォルトの名無しさん
2012/01/21(土) 13:33:57.61そんなこと気にしなくていい
0176デフォルトの名無しさん
2012/01/21(土) 13:36:07.01手が付いてるなら自分で測ればいい。
ここで適当な答えを返されたとしても、自分で確かめないのならお前はそれを信じるしかないんだぞ。
答えてやるよ。
.NET4.0の方が早い。
0177デフォルトの名無しさん
2012/01/21(土) 13:49:37.060178デフォルトの名無しさん
2012/01/21(土) 13:51:02.730179デフォルトの名無しさん
2012/01/21(土) 14:11:58.14new ListViewItem("item1",0);の第二引数の0って何の意味があるのでしょうか?
0180デフォルトの名無しさん
2012/01/21(土) 14:22:08.72項目が格納されている ListView に関連付けられた ImageList 内のイメージの 0 から始まるインデックス。
って書いてあるじゃん
読めないの?
0181デフォルトの名無しさん
2012/01/21(土) 14:35:15.69分からないとか抜かした場合、自分で提示したURLすらよく確認していないと証明しているようなものだ
本当に死んだほうがいい
0182デフォルトの名無しさん
2012/01/21(土) 15:00:09.780183デフォルトの名無しさん
2012/01/21(土) 15:07:12.20ぶっちゃけていうと、
2.0→全部列挙しちゃう
4.0→途中で止めれる
もともと全部列挙するつもりならどちらも同じ
0184デフォルトの名無しさん
2012/01/21(土) 15:17:43.39public void A() { obj.DoSomething(); }
public void B() { obj = new T(); }
クラスにこのようなメソッドがあり、AとBは異なるスレッドから不規則に何度も実行されます。
この場合、Bで代入中にAが実行されて不完全な参照を使ってしまう、とかあり得ますか。
lockを使うべきでしょうか。objもvolatileにしたほうがいいですか?
0185デフォルトの名無しさん
2012/01/21(土) 15:26:43.23longは違うよね確か
0186デフォルトの名無しさん
2012/01/21(土) 15:36:10.55分かりやすいです
勉強になりました
0187デフォルトの名無しさん
2012/01/21(土) 15:41:39.08これだとsystem volume informationなどのシステム属性や画し属性も取得してしまうので
FileInfo fileinfo = new FileInfo(dir);
if ((fileinfo.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden){
}
な感じで減らしたいのですがどう書けばよいのでしょうか?
0188デフォルトの名無しさん
2012/01/21(土) 15:55:05.17http://msdn.microsoft.com/ja-jp/library/29kt2zfk.aspx
Directoryクラスの下にDirectoryInfoクラスってのがあるけど見える?
もしかすると文盲で見えない可能性があるから一応聞いておくよ
0189デフォルトの名無しさん
2012/01/21(土) 16:04:18.660190デフォルトの名無しさん
2012/01/21(土) 16:04:36.18答えられる頭のない奴は黙ってたほうがいいよ
0191デフォルトの名無しさん
2012/01/21(土) 16:10:13.290192デフォルトの名無しさん
2012/01/21(土) 16:16:18.990193デフォルトの名無しさん
2012/01/21(土) 16:19:25.15忠告しましたよ。
忠告されても構うのは犬畜生のすることですよ。
0194デフォルトの名無しさん
2012/01/21(土) 16:23:12.430195デフォルトの名無しさん
2012/01/21(土) 17:21:14.09どう使い分けたらいいんだろう?
WebResponseは普通使わないでhttpWebResponse使っとけばいいのかな?
0196デフォルトの名無しさん
2012/01/21(土) 17:29:42.38そちらにするしかないし、そうでないならWebResponseのままでいい。
それだけ。
0197デフォルトの名無しさん
2012/01/21(土) 18:01:25.71そこを右クリックするてメニューがでますが
そこに自分でメニューを追加したいのですが
どのようにしたらいいでしょうか?
0198デフォルトの名無しさん
2012/01/21(土) 18:03:25.22http://cs2ch.blog123.fc2.com/blog-entry-80.html
0199デフォルトの名無しさん
2012/01/21(土) 18:15:25.17ありがとうございます
ためしてみます
0200デフォルトの名無しさん
2012/01/21(土) 22:28:35.82C:\Projects\hoge\hoge\Form1.cs hoge
public partial class Form1 : Form {
bool IsHoge=false;
private void btn1_Click(object sender, EventArgs e){IsHoge = true;}
使ってるのに使用されて無いって・・・この警告どうやって消すんだろうか、
使ってるぶんには不具合無いのですが気になってます。
何が原因ですか?
0201デフォルトの名無しさん
2012/01/21(土) 22:33:00.33使ってないだろ?それ
代入しててもどこからもその値が使われてないから無意味だと言ってくれてるんだよ
privateだからフォームの外からアクセスされることもない
0202デフォルトの名無しさん
2012/01/21(土) 22:34:09.64バインディングかなんかで外に公開したいならprotectedかpublicで。
0203デフォルトの名無しさん
2012/01/21(土) 22:42:07.92どうもありがとう^^
これから試してみます。
0204デフォルトの名無しさん
2012/01/21(土) 23:02:50.35#pragma warning disable 169
bool IsHoge=false;
#pragma warning restore 169
普通は必要ないけどこういう対処も出来る
0205デフォルトの名無しさん
2012/01/21(土) 23:27:47.330206200
2012/01/22(日) 01:20:56.71と使っても警告消えませんでした。降参です。結局Publicにしました。
Form1のフォームの中で宣言したプライベートな変数フィールドで
Form1のClickイベントの中で使っているつもりなのですが、まだ理解できてません。
0207200
2012/01/22(日) 01:23:00.720208デフォルトの名無しさん
2012/01/22(日) 01:59:04.05まあ、早い話、お前の頭よりコンパイラのほうが頭がよい、そういうことだ。
0209デフォルトの名無しさん
2012/01/22(日) 04:31:09.510210デフォルトの名無しさん
2012/01/22(日) 04:46:55.710211デフォルトの名無しさん
2012/01/22(日) 09:21:31.89だったら消せよ
0212デフォルトの名無しさん
2012/01/22(日) 10:07:21.620213デフォルトの名無しさん
2012/01/22(日) 10:53:28.93の()の中で if (真偽値 == false) がおかしいと感じないのかね。
if ((真偽値 == false) == true) はどうだ?
0214デフォルトの名無しさん
2012/01/22(日) 11:03:44.58例外が出ないTryParseだけ使えばいいと思うんですけどintParseの使いどころってどういうときなんですかね
0215デフォルトの名無しさん
2012/01/22(日) 11:05:38.59ん?それなら消えないか?
0216デフォルトの名無しさん
2012/01/22(日) 11:06:59.160217デフォルトの名無しさん
2012/01/22(日) 11:08:47.880218デフォルトの名無しさん
2012/01/22(日) 11:22:02.430219デフォルトの名無しさん
2012/01/22(日) 11:25:09.110220デフォルトの名無しさん
2012/01/22(日) 11:35:19.14が
int a;
Int32.TryParse(x, out a);
hoge.Value = a;
とか冗長じゃん?
UIでxのバリデーション済みならxが変換できないのは例外で表現した方が自然って考えもある
0221デフォルトの名無しさん
2012/01/22(日) 11:40:20.51Formの部品をいじくるときはForm1.csにコードを書かないと出来ないので
Form1.csのコード量が多くなってしまいます
そこで新しくクラスファイルを作って部品別にコードを別けて見やすく管理したいのですが
これはどのようにできますか?
0222デフォルトの名無しさん
2012/01/22(日) 11:41:38.47xとyのパターンが確実にintに変換できるようなものであれば、Parseで充分になる
逆にParseに失敗するのはプログラミングミスだから例外等でブレークさせないといけないし、
そこにTryParseを使わせて追加のコードを書かせるのも馬鹿らしい、だからParseは用意されてるんだよ
>>220
UIでバリデーションしてるのならstringで渡すなよ…
0223デフォルトの名無しさん
2012/01/22(日) 11:42:41.95メニューのプロジェクトからクラスの追加
0224デフォルトの名無しさん
2012/01/22(日) 11:43:25.12ユーザーコントロール
0225デフォルトの名無しさん
2012/01/22(日) 11:45:16.45クラスの追加まではできるのですが、その作ったクラスからFormの部品がいじれないのです。。。
0226デフォルトの名無しさん
2012/01/22(日) 11:46:05.75始めたばかりのころに別掲示板でほぼ同じ質問をしたことがあったよ。w
>>224 を支持。
0227デフォルトの名無しさん
2012/01/22(日) 11:49:05.05クラスにForm渡せばいいけどそういうコード書くとオタになぶり殺しに会う
どうせデリゲートやラムダ式使えないんだろ?
0228デフォルトの名無しさん
2012/01/22(日) 11:49:13.11ただあまり良い方法ではない
0229デフォルトの名無しさん
2012/01/22(日) 11:56:00.87ソリュージョンエクスプローラーから追加でユーザーコントロールを入れたら
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace FormTest16
{
public partial class FormGaibuClass1 : UserControl
{
public FormGaibuClass1()
{
InitializeComponent();
}
}
}
ってここまでできましたのでここまで報告にきました
0230デフォルトの名無しさん
2012/01/22(日) 11:58:47.94ユーザーコントロールっていうのがいいのですね、わかりました
>>227
Form1 form1 = new Form1()みたいな書き方はいけないってことですかね?わかりました
デリゲートってなんですか?ってレベルです
ラムダ式の書き方もC#では分かりません
すみません
>>228
こういう方法もあるのですね
何故これは良くないのでしょうか?
0231デフォルトの名無しさん
2012/01/22(日) 12:07:02.30>Form1 form1 = new Form1()みたいな書き方はいけない
じゃなくて追加したクラスにメソッドなどでthisを渡してしまうこと
pythonではよくやる
0232デフォルトの名無しさん
2012/01/22(日) 13:01:18.28Disposeメソッドを実行するとインスタンスオブジェクトが設定されていないというエラーが出るのですが、
インスタンスの中身を確認する方法を教えてください。
今↓のように書いてみましたがこれではダメですよね?
private System.Drawing.Bitmap bmp;
public void Dispose()
{
try
{
bmp.Dispose();
}
catch
{
}
}
0233デフォルトの名無しさん
2012/01/22(日) 13:10:03.37{
bmp.Dispose();
bmp=null;
}
0234デフォルトの名無しさん
2012/01/22(日) 13:22:41.670235デフォルトの名無しさん
2012/01/22(日) 13:52:06.83ユーザーコントロールの動かし方を確認するためにフォームのtextBox1のTextを変更したいのですが
書き方がわかりません
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace FormTest16
{
public partial class FormGaibuClass1 : UserControl
{
public FormGaibuClass1()
{
InitializeComponent();
}
public void textBox1Change(){
this.textBox1.Text ="変更されました";
}
}
}
0236デフォルトの名無しさん
2012/01/22(日) 14:00:49.68Form1.csとは別に新しいクラスを作って↓みたいにすることでも分けて書くことはできますが
この書き方のthisがダメということでしょうか?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace FormTest16
{
public partial class Form1 : Form
{
public void textBox1Change()
{
this.textBox1.Text = "てすt";
}
}
}
0238デフォルトの名無しさん
2012/01/22(日) 14:03:35.61そのまますすめてりゃ、1ヶ月後くらいにあーこのことかとわかるよたぶん
0239デフォルトの名無しさん
2012/01/22(日) 14:03:50.640240デフォルトの名無しさん
2012/01/22(日) 14:08:50.970241デフォルトの名無しさん
2012/01/22(日) 14:10:01.22それは新しいクラスじゃないよ
partial 宣言して同じクラスを分割しただけ
0242デフォルトの名無しさん
2012/01/22(日) 14:19:55.56少しずつ勉強していきます
ちなみにpartialでファイルを分けて各方法はお勧めできますか?
0243デフォルトの名無しさん
2012/01/22(日) 14:21:42.02textbox.Text = text;
}
Test("サンプル", textBox1);
のようにコントロールを渡す方法はやめたほうが良いでしょうか?
0244デフォルトの名無しさん
2012/01/22(日) 14:25:32.88コントロールを渡すのなら最初にプライベート変数にでも入れておいて
毎回渡すのは何の意味もないよ
0245デフォルトの名無しさん
2012/01/22(日) 14:26:33.54partial class Form1が既に存在してるよね?
0246デフォルトの名無しさん
2012/01/22(日) 14:30:34.34あります
public partial class Form1 : Formというのは
新しいファイルにいくらでも書けると認識しているのですが間違いですか?
0247デフォルトの名無しさん
2012/01/22(日) 14:33:36.32textBox1からtextBox10まであるのですが
処理によって使うtextBoxを分けてますが実行するときは同じフィールドを使います
この様な場合でもプライベートに全部変数に入れるべきですか?
private TextBox textbox1 = textBox1
(略)
private TextBox textbox10 = textBox10
0248デフォルトの名無しさん
2012/01/22(日) 14:45:06.12自分で使う機会なんてほぼない
partialで分割するほど肥大化したらクラスの役割を見直した方がいい
複数人で編集する時に競合を避けることはできるかもしれない
だが、どこか不測に機能を追加されるよりはコミットログを残してマージすべきだと思う
ほとんどのSCMはファイルベースだから履歴が追いにくくなる
0249デフォルトの名無しさん
2012/01/22(日) 14:45:30.88↓
親フォームで値を受け取りそのままイベント発生
というようなことは可能でしょうか?
ググるキーワードもわからず困っています
0250デフォルトの名無しさん
2012/01/22(日) 14:46:09.27クラス側のフィールドはフォームの入力項目の数だけ作るんだよ
あとTextBoxじゃなくてstringとかintのような実際のデータに即した型に変えて、TextChangedイベントとかで値を随時更新してやるようにする
0251デフォルトの名無しさん
2012/01/22(日) 14:47:34.14自分なら配列に入れるかな…
0252デフォルトの名無しさん
2012/01/22(日) 14:47:41.38C# フォーム データ 受け渡し
0253デフォルトの名無しさん
2012/01/22(日) 14:50:17.75子フォームに適当なイベントを追加
子フォームのボタンクリックで、追加したイベントを呼び出しておく
親フォームで子フォームを呼び出す前にイベントハンドラを登録
子フォームを表示
0254デフォルトの名無しさん
2012/01/22(日) 14:57:02.09他人が見たらForm1に書いてあるのか、別ファイルに書いてあるのかどこに書いてあるのかわからないのは勘弁
処理するクラスと表示するFormと分けた方がいい
0255デフォルトの名無しさん
2012/01/22(日) 15:22:56.85このように書くらしいのですが何故Application_ApplicationExitが呼ばれたらイベントを削除しないといけないのでしょうか?
アプリケーションを終了するから消す必要はないと思うのですが何故でしょうか?
またこの終了時にイベントを発生させるのはVC#のプロパティウィンドウにはないのですがこのように手書きでコードを入れるしかないのですか?
private void Form1_Load(object sender, EventArgs e)
{
Application.ApplicationExit += new EventHandler(Application_ApplicationExit);
}
private void Application_ApplicationExit(object sender, EventArgs e)
{
MessageBox.Show("アプリケーションが終了されます。");
Application.ApplicationExit -= new EventHandler(Application_ApplicationExit);
}
0256デフォルトの名無しさん
2012/01/22(日) 15:28:39.200257デフォルトの名無しさん
2012/01/22(日) 15:32:25.10初耳だな
どこに書いてあった?
0258デフォルトの名無しさん
2012/01/22(日) 15:34:52.72ttp://dobon.net/vb/dotnet/programing/applicationstart.htmlに書いてありました
0259デフォルトの名無しさん
2012/01/22(日) 15:46:35.36このスレのPart79に32bit以下のサイズの値型と参照型の読み取りと書き込みはアトミックだと書いてあったので、多分大丈夫
多分ね
0260デフォルトの名無しさん
2012/01/22(日) 16:00:03.87別のイベントはダメなの?
http://dobon.net/vb/dotnet/form/unloadmode.html
0261デフォルトの名無しさん
2012/01/22(日) 16:08:47.240262デフォルトの名無しさん
2012/01/22(日) 16:21:49.10意味ごとに分けたほうがいいんじゃないの?
0263デフォルトの名無しさん
2012/01/22(日) 16:35:22.30FormClosedというプロパティがありました
これでやってみたいと思います
ありがとうございます
0265デフォルトの名無しさん
2012/01/22(日) 16:39:46.530266デフォルトの名無しさん
2012/01/22(日) 17:17:16.09ローカルネットワーク内では問題なく接続できたので、ルータのポートを開放してみましたが同様です。
ポート開放が上手く行ってないのか、プログラムがまずいのか、どう思われますか?
0267デフォルトの名無しさん
2012/01/22(日) 17:21:55.500268デフォルトの名無しさん
2012/01/22(日) 17:29:16.63ふぁいやーうぉーるとかは?
>>267
はい?
0269デフォルトの名無しさん
2012/01/22(日) 17:42:32.39ルータのログ出してみては。
0270デフォルトの名無しさん
2012/01/22(日) 17:43:56.6710日で覚えるみたいなのじゃなくてこれ1冊勉強したらいいみたいな本をお願いします
少しでもここで質問する頻度が減らせればと考えて勉強したいんです
0271デフォルトの名無しさん
2012/01/22(日) 17:48:12.73どれでもいいから3つ入門本買え
内容が似てないやつな
無理なら図書館で借りろ
タダだ
0272デフォルトの名無しさん
2012/01/22(日) 17:56:48.91例えばtextBox1とtextBox2があり、textBox2からKeyDownイベントが実行されたらtextBox2体ということをしりたいのですが
0273デフォルトの名無しさん
2012/01/22(日) 18:02:00.05ファイアウォールは例外に指定して通すようにしています。一度、ファイアウォール自体を切って試しましたが同様でしたのでファイアウォールで止まってる訳ではなさそうです。
>>269
ルータのログですか?調べて一度出してみます。
ところで、TcpListenerは待機ポートを指定して、接続次第そのポートで通信しますよね?
一方、TcpClientは接続時に接続先のIPとポートを指定しますが、このClient自体のポートはOS側で勝手に割り振られるんですか?それとも指定した接続先のポート番と同じのを使うのですか?
0274デフォルトの名無しさん
2012/01/22(日) 18:03:05.48KeyDownのsender
0275デフォルトの名無しさん
2012/01/22(日) 18:04:22.92バインドすることもできるけど普通は自動割り振りさせる
0276デフォルトの名無しさん
2012/01/22(日) 18:16:59.640277デフォルトの名無しさん
2012/01/22(日) 18:18:47.170278デフォルトの名無しさん
2012/01/22(日) 18:20:03.04ネットワーク構成は秘密か?インターネットを「経由」しているということは、
・自宅と友人宅/職場/レン鯖/他
・自宅に2回線持っている
あたりだろうが
てか、LANでは繋がる→プログラムの問題ではない→スレチ、だろう
0279デフォルトの名無しさん
2012/01/22(日) 18:29:18.63ポートの意味を取り違えて
0280デフォルトの名無しさん
2012/01/22(日) 18:29:37.98「192.168.11.3のクライアント」から「192.168.11.1のサーバー」を「ルーターのWAN側IPとポート」を指定して接続しようとしています。もしかして、
これじゃインターネット経由にならないんですか?
0281デフォルトの名無しさん
2012/01/22(日) 18:31:09.47ヘアピンNATができるかはルータ次第。
0282デフォルトの名無しさん
2012/01/22(日) 18:37:15.14ルーターに依るんですね。確認してみます。ローカルネットワーク内では動くということでプログラム自体には問題なさそうなので、スレチなようなので移動します。ありがとうございます!
0283デフォルトの名無しさん
2012/01/22(日) 18:40:42.540284デフォルトの名無しさん
2012/01/22(日) 19:05:16.26プログラム以前に、webサーバたててアクセスして見る、
とかまやったことないのかいな。
0285デフォルトの名無しさん
2012/01/22(日) 19:11:18.04するとは
0286デフォルトの名無しさん
2012/01/22(日) 19:13:05.83sender.ToString()を確認したら取れているのは確認できました
textBox1でKeyDownが発生した場合に
イベント内でtextBox1.Text = "";みたいに書き換えたいのですが
どのように書いたらよいのでしょうか?
0287デフォルトの名無しさん
2012/01/22(日) 19:15:24.570288デフォルトの名無しさん
2012/01/22(日) 19:16:27.61ありがとうございます
senderはこういう風に使うのですね
勉強になりました
0289デフォルトの名無しさん
2012/01/22(日) 19:41:59.98as使えよ
0290デフォルトの名無しさん
2012/01/22(日) 19:43:48.42プロジェクト内にある画像をコードから表示しようと、
image.Source = new BitmapImage(new Uri(@"/Icon/Image.png", UriKind.Relative));
としているのですが表示されません。
別にあるユーザーコントロールのXAMLからは相対URIで表示できていますし、
同じ画像をプロパティにある絶対URIで指定すれば表示できるので、URIの書き方がおかしいのではないかと思っています。
相対URIで画像を指定し、表示するためにはどのようにすれば良いのでしょうか?
0291デフォルトの名無しさん
2012/01/22(日) 19:47:40.64初心者相手でもちゃんとした処理教えたほうがいいんじゃないの?
0292デフォルトの名無しさん
2012/01/22(日) 19:54:52.36>http://msdn.microsoft.com/ja-jp/library/aa970069.aspx
>参照アセンブリのサブフォルダー内のリソース ファイル "pack://application:,,,/ReferencedAssembly;component/Subfolder/ResourceFile.xaml"
>>291
文法レベルの質問だと思ったからそう答えた
処理の話ならそもそもKeyDownでやる必要性が見いだせない
0293デフォルトの名無しさん
2012/01/22(日) 20:02:01.82表示できました、ありがとうございます。
0294デフォルトの名無しさん
2012/01/22(日) 20:47:11.930295デフォルトの名無しさん
2012/01/22(日) 20:51:10.050296デフォルトの名無しさん
2012/01/22(日) 20:51:16.080297デフォルトの名無しさん
2012/01/22(日) 20:52:21.690298デフォルトの名無しさん
2012/01/22(日) 20:55:21.56幅広くサポートしたいなら2.0ターゲットにして.NET2.0入ってないようなクソ環境は無視で問題ない
0299デフォルトの名無しさん
2012/01/22(日) 20:55:40.13たしかexeファイル内にフレームワーク丸抱えしちゃうように変換するやつ
0300デフォルトの名無しさん
2012/01/22(日) 20:57:08.71ただしIE、Offceは除く
0301デフォルトの名無しさん
2012/01/22(日) 20:58:06.890302デフォルトの名無しさん
2012/01/22(日) 21:00:26.50http://www.atmarkit.co.jp/fdotnet/dotnettips/005castandas/castandas.html
0303デフォルトの名無しさん
2012/01/22(日) 21:01:35.04英語ロケールだと、前置詞は検索キーワードから除外したりしてたような気もするけど、そのせい?
0304デフォルトの名無しさん
2012/01/22(日) 21:01:42.25一番上に出てきた
http://www.atmarkit.co.jp/fdotnet/dotnettips/005castandas/castandas.html
0305デフォルトの名無しさん
2012/01/22(日) 21:01:46.08むしろどこでググったのか教えて
0306デフォルトの名無しさん
2012/01/22(日) 21:17:02.640307デフォルトの名無しさん
2012/01/22(日) 21:18:55.71stringは参照型だし
0308デフォルトの名無しさん
2012/01/22(日) 21:20:50.31出来ないというかできても意味ない
0309デフォルトの名無しさん
2012/01/22(日) 21:20:56.03const string hoge = "hoge";
0310デフォルトの名無しさん
2012/01/22(日) 21:22:37.95C++/CLIのliteralがわかりやすい
0311デフォルトの名無しさん
2012/01/22(日) 21:23:31.86>>308
こいつら生きてる価値あるの?
0312デフォルトの名無しさん
2012/01/22(日) 21:28:22.660313デフォルトの名無しさん
2012/01/22(日) 21:28:51.15それなら元々stringは変更不可だから無意味
0314デフォルトの名無しさん
2012/01/22(日) 21:30:39.33手拍子で答えてしまったw
0315デフォルトの名無しさん
2012/01/22(日) 21:37:20.960316デフォルトの名無しさん
2012/01/22(日) 21:52:09.17就活中
(p)http://livedoor.blogimg.jp/jin115/imgs/3/1/31a6f8e6.jpg
就職後
(p)http://livedoor.blogimg.jp/jin115/imgs/2/b/2b790359.jpg
街の人(やらせ業者)募集中です
0317デフォルトの名無しさん
2012/01/22(日) 21:57:15.66とやってもlistViewの先頭にフォーカスが当らないので
http://d.hatena.ne.jp/oui27/20080710/1215702413をみながらlistView用にコードを書いてるのですが
イベントの部分がどうしてもかけません
手直しをお願いできませんか
void listView1_Loaded(object sender, ListViewItemSelectionChangedEventArgs e)
{
if (listView1.SelectedIndices[0] >= 0)
{
ListViewItem item = (ListViewItem)(listView1.Items[listView1.SelectedIndices[0]]);
item.Focused = true;
}
//イベントハンドラを削除
listView1. -= new ListViewItemSelectionChangedEventHandler(listView1_Loaded); //←ここがわかりません
}
0318デフォルトの名無しさん
2012/01/22(日) 22:05:14.980319デフォルトの名無しさん
2012/01/22(日) 22:10:56.45元のサイトをもっとよく見ろよ
0320デフォルトの名無しさん
2012/01/22(日) 22:11:16.18本当は
listView1.Items[0].Selected = true;
listView1.focus()でアイテムが選択状態になってフォーカスが当っているのがいいんですが
別の方法ってありませんか?
0321デフォルトの名無しさん
2012/01/22(日) 22:16:57.85WPFの開発してるの?
0322デフォルトの名無しさん
2012/01/22(日) 22:24:09.89移植したらいいのかなと思ってまして すいません
0323デフォルトの名無しさん
2012/01/22(日) 22:24:46.64何だよまたひっかけ問題かよ
listviewの SelectionModeをSingleに…
0324デフォルトの名無しさん
2012/01/22(日) 22:26:26.910325デフォルトの名無しさん
2012/01/22(日) 22:31:31.14こういうのもあるんですね
ありがとうです
0326デフォルトの名無しさん
2012/01/22(日) 22:35:30.30WPF SelectionMode=Single;
結局さらされたブログの人が恥ずかしいだけになった
0327デフォルトの名無しさん
2012/01/22(日) 22:40:45.590328デフォルトの名無しさん
2012/01/22(日) 22:45:44.360329デフォルトの名無しさん
2012/01/22(日) 22:46:54.000330デフォルトの名無しさん
2012/01/22(日) 22:50:03.83ただし単一WAVの合成はプロセス内でやらないと要件にマッチしないけど
0331デフォルトの名無しさん
2012/01/22(日) 22:54:59.92c#で0.01秒ごとに処理(ラベルの書き換え程度ですが)を行い、
ボタンを押したら正確に止められますか?
0332デフォルトの名無しさん
2012/01/22(日) 22:56:59.00YO!久しぶり!メトロノームの調子はDO-DAY
0333デフォルトの名無しさん
2012/01/22(日) 23:00:16.910334デフォルトの名無しさん
2012/01/22(日) 23:10:56.010335デフォルトの名無しさん
2012/01/22(日) 23:12:57.520336デフォルトの名無しさん
2012/01/22(日) 23:13:07.030337デフォルトの名無しさん
2012/01/22(日) 23:19:06.46操作を覚えておけばいいでしょ
操作:MOVE 〜を〜へ移動した
操作:COPY 〜を〜へコピーした
って
Deleteはどこかに取っておかないと駄目だけどね
面倒くさいならShell使った方がいい
0338デフォルトの名無しさん
2012/01/22(日) 23:20:25.68うっかり指定してなかった場合を想定して、マイドキュメントを指定してやろうとしてます。
if (textSaveFolder.Text == string.Empty) {
textSaveFolder.Text=Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); }
if文の条件ってこっちのほうがいいかなぁ
if (string.IsNullOrEmpty(textSaveFolder.Text))
センスの問題?
0339デフォルトの名無しさん
2012/01/22(日) 23:20:46.21http://msdn.microsoft.com/en-us/library/windows/desktop/bb762164%28v=vs.85%29.aspx
定義はP/Invoke探せばあるでしょう
0340デフォルトの名無しさん
2012/01/22(日) 23:22:01.990341デフォルトの名無しさん
2012/01/22(日) 23:24:52.34>>339
よく読んでやってみます
0342デフォルトの名無しさん
2012/01/22(日) 23:46:31.95100fpsとか高望みにも程がある
>>338
未入力チェックならString.IsNullOrWhiteSpace
>>340
毎回入力することを想定していなければ、入力欄の近くに
相対パスならマイドキュメント以下(空欄はマイドキュメント)
のように明記するのはあり
0343デフォルトの名無しさん
2012/01/22(日) 23:56:14.16ビットにできないかと思って。
記述的にできないみたいで残念。
>>309
それじゃ意味ねーだろwww
0344デフォルトの名無しさん
2012/01/22(日) 23:57:50.320345デフォルトの名無しさん
2012/01/23(月) 00:18:52.35emptyは長さ0の文字列
ちなみにstring.Emptyはリフレクションで再代入ができるので(Mono環境だとできないが)
空文字列かどうかを調べるのにstring.Emptyとの比較は微妙
string.Emptyをいじることはないと思うけどな
0346デフォルトの名無しさん
2012/01/23(月) 00:22:59.64そんなことを言いだしたら他のフィールドも全部信用できないだろ
0347デフォルトの名無しさん
2012/01/23(月) 00:24:29.39" "
使ってると、化石扱いされるの?
0348デフォルトの名無しさん
2012/01/23(月) 00:53:33.57まで読んだ。
0349デフォルトの名無しさん
2012/01/23(月) 00:54:06.38まで読んだ。
0350デフォルトの名無しさん
2012/01/23(月) 00:55:00.930351デフォルトの名無しさん
2012/01/23(月) 01:16:44.04ラベルのText書き換えるだけなら100/sくらい全然余裕だろ
どうせ表示できないけど
0352デフォルトの名無しさん
2012/01/23(月) 11:35:34.27作成したアプリケーションに関連付けしたファイルをダブルクリックすると、作成アプリが起動しファイルを読み込むようにしたのですが、現在このアプリは二重起動を禁止しています。
このアプリが起動中に、別の関連付けファイルをダブルクリックした時に、既起動中のアプリで新たなファイルを開きたいのですが、どのようにするのでしょうか?
二重起動禁止を解除するともちろん複数のアプリが起動してしまうのですが、そうではなく、既に起動中のアプリに読み込むことができません。
ご教授願えますでしょうか?
よろしくお願いいたします。
0353デフォルトの名無しさん
2012/01/23(月) 11:46:46.200354デフォルトの名無しさん
2012/01/23(月) 11:51:00.09この場合開いたファイルパスだけ送りゃいいだろ
0355デフォルトの名無しさん
2012/01/23(月) 11:51:09.810356デフォルトの名無しさん
2012/01/23(月) 11:59:39.360357デフォルトの名無しさん
2012/01/23(月) 12:01:33.21二重起動をさせずに2つめの関連付けされたファイルを起動済みの
プログラムに渡すにはどうすればいいか?って意味ね。
0358デフォルトの名無しさん
2012/01/23(月) 12:08:51.800359デフォルトの名無しさん
2012/01/23(月) 12:11:40.32ここでさらっとコード貼ったりできる程度じゃない
0360デフォルトの名無しさん
2012/01/23(月) 12:17:57.330361デフォルトの名無しさん
2012/01/23(月) 12:19:14.970362デフォルトの名無しさん
2012/01/23(月) 12:21:04.320363デフォルトの名無しさん
2012/01/23(月) 12:28:48.581.関連付けで起動されるアプリケーションスタブ
2.アプリケーション本体
アプリケーション本体には、二重起動チェックはそのまま入れておく。
関連付けで起動されるスタブは、アプリ本体が起動されていなければ
起動して引数にファイル名を渡す。
アプリ本体がすでに起動されていればプロセス間通信でファイル名を
渡す。プロセス間通信というかスタブからのメッセージPOSTを受ける
だけでいい気もするけど。
0364デフォルトの名無しさん
2012/01/23(月) 12:35:38.810365デフォルトの名無しさん
2012/01/23(月) 12:48:47.27C#でもCみたいにexternする裏技みたいなのは無いのでしょうか?
0366デフォルトの名無しさん
2012/01/23(月) 12:50:06.130367デフォルトの名無しさん
2012/01/23(月) 12:50:51.40お前には無理でFA
0368デフォルトの名無しさん
2012/01/23(月) 12:53:39.94http://ideone.com/fk8nr
0369デフォルトの名無しさん
2012/01/23(月) 13:14:14.740370デフォルトの名無しさん
2012/01/23(月) 13:17:21.050371デフォルトの名無しさん
2012/01/23(月) 13:18:57.19もしかすると「TreeViewでフォルダーツリー作っているんだが、hidden属性のフォルダー無視する方法ない?」って質問かな?
0372デフォルトの名無しさん
2012/01/23(月) 13:19:20.050373デフォルトの名無しさん
2012/01/23(月) 13:20:52.450374デフォルトの名無しさん
2012/01/23(月) 13:22:15.42ですです
0375デフォルトの名無しさん
2012/01/23(月) 13:26:43.72hidden属性のフォルダーかチェックしてhiddennなら追加しない
0376デフォルトの名無しさん
2012/01/23(月) 13:31:25.40varで書くのはいいけどぱっと見で重要なオブジェクトかどうかわかりづらい
基本構造について理解が妨げられるような感じ
オブジェクト平等主義なんだろうけど定数の様な物や
stringはvarじゃないほうがいいような気がするなあ
0377デフォルトの名無しさん
2012/01/23(月) 13:36:07.310378デフォルトの名無しさん
2012/01/23(月) 13:38:22.100379デフォルトの名無しさん
2012/01/23(月) 13:43:12.620380デフォルトの名無しさん
2012/01/23(月) 13:43:59.850381デフォルトの名無しさん
2012/01/23(月) 14:08:32.06C# で書いたDLLをCOMに見せかける機能はあるので、
C++ で一段階ラッパー書けば使えるとは思う。
結構大変(情報全然出てこない)と思うけど。
0382デフォルトの名無しさん
2012/01/23(月) 14:15:35.430383デフォルトの名無しさん
2012/01/23(月) 14:26:55.820384デフォルトの名無しさん
2012/01/23(月) 14:59:02.80まじすか
これ需要あるますので有料でもいいのでほしいですよ
0385デフォルトの名無しさん
2012/01/23(月) 15:19:37.410386デフォルトの名無しさん
2012/01/23(月) 15:20:15.010387デフォルトの名無しさん
2012/01/23(月) 15:26:58.330388デフォルトの名無しさん
2012/01/23(月) 15:34:35.57CLIいれられないよ
0389デフォルトの名無しさん
2012/01/23(月) 15:36:27.020390デフォルトの名無しさん
2012/01/23(月) 15:39:31.330391デフォルトの名無しさん
2012/01/23(月) 15:52:32.080392デフォルトの名無しさん
2012/01/23(月) 15:56:26.140393デフォルトの名無しさん
2012/01/23(月) 16:16:22.160394デフォルトの名無しさん
2012/01/23(月) 16:35:18.56ヘッダーの列の幅を100%に自動調節したいので
ttp://dobon.net/vb/dotnet/control/lvautocolumnwidth.htmlをみながら
listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
と書いてみたのですがサイズが変わりません
どうかご教示お願いします
0395デフォルトの名無しさん
2012/01/23(月) 16:44:15.06変わるけどな?
先頭大文字なのが気になるけど、、、ちゃんと呼んでる?
0396デフォルトの名無しさん
2012/01/23(月) 16:44:49.220397デフォルトの名無しさん
2012/01/23(月) 16:50:07.580398デフォルトの名無しさん
2012/01/23(月) 17:06:49.15あれ?おかしいな?何でだろう
ヘッダーにwidth = -2にってやると100%で表示されるんですが
これだと画面の大きさや項目を変更したときには反映されないので困りました
ちなみに.Net4.0なんですけど項目は全部半角英数でaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaを10行挿入しました
ヘッダーめいはabcdeって入れてます
0399デフォルトの名無しさん
2012/01/23(月) 17:08:12.32やりたいことはその逆だからダメだろ。
>>392
ネイティブなものを .NET から使うためだよ。
今はその逆の話で、それは C++/CLI でやることじゃない。
0400デフォルトの名無しさん
2012/01/23(月) 17:09:47.19http://msdn.microsoft.com/ja-jp/library/8bwh56xe.aspx
こんなの。
別に無料版の VC#/VC++ でもできるんじゃないかな。
自分でやったことないからこれ以上はわかんない。
0401デフォルトの名無しさん
2012/01/23(月) 17:10:11.520402デフォルトの名無しさん
2012/01/23(月) 17:11:14.51ありがとう
もしよろしければこのリンク見てアフィリエイトふみまくるので誰か作ってください
0403デフォルトの名無しさん
2012/01/23(月) 17:15:19.68まだ意味が解ってないみたいだな…
0404デフォルトの名無しさん
2012/01/23(月) 17:23:39.62それを使った中間ネイティブDLL作るんだよ
間に何かあって勝手にネイティブ変換してくれるもんじゃない
自分で作るもんだぞ
0405デフォルトの名無しさん
2012/01/23(月) 17:33:07.330406デフォルトの名無しさん
2012/01/23(月) 17:34:44.840407デフォルトの名無しさん
2012/01/23(月) 17:39:58.05そういうお願いは無駄だと感じるはずだけどなあ
0408デフォルトの名無しさん
2012/01/23(月) 17:52:33.58他人に頼みごとをして解決する人は嫌いです
0409デフォルトの名無しさん
2012/01/23(月) 17:57:59.950410デフォルトの名無しさん
2012/01/23(月) 18:35:17.92ただのC++より安全だとは思うけどC++使うならネイティブの
ほうがいい。
0411デフォルトの名無しさん
2012/01/23(月) 18:40:02.570412デフォルトの名無しさん
2012/01/23(月) 18:59:36.52一番の用途はネイティブコードを .NET から参照する用よ。
.NET 使いたいだけなら素直に C# に移る方がよっぽど楽。
0413デフォルトの名無しさん
2012/01/23(月) 19:01:07.240414デフォルトの名無しさん
2012/01/23(月) 19:05:28.61まだ4000YENの話を続けなきゃいけないのか?
0415デフォルトの名無しさん
2012/01/23(月) 19:08:42.01昔からあるものを、今のものに対応させるって大変。
0416デフォルトの名無しさん
2012/01/23(月) 19:14:06.860417デフォルトの名無しさん
2012/01/23(月) 19:18:31.63日当三万払ってプロに頼めよ
0418デフォルトの名無しさん
2012/01/23(月) 19:26:45.99という配列があって
インデックスAを指定して、指定した位置Bに移動する方法を伝授してください
例えばインデックス3を1の位置に移すなら
{"a","d","b","c","e"};
という結果にしたいのです
0419デフォルトの名無しさん
2012/01/23(月) 19:35:56.58a[3] = a[1];
a[1] = n;
これを書きたくないと言うならC#向いてないから今すぐ止めてくれ
0420デフォルトの名無しさん
2012/01/23(月) 19:38:18.56list<string>使えと言う回答はダメですかw
0421デフォルトの名無しさん
2012/01/23(月) 19:39:35.77止めるべきはお前だったな
ListならInsertで済むのにな
Listはメモリガーとか言う人かね
0422デフォルトの名無しさん
2012/01/23(月) 19:47:46.75string b=a[3]
for (int i=2;i>=1;i++) {
a[i+1]=a[i];
}
a[1]=b;
0423デフォルトの名無しさん
2012/01/23(月) 19:52:04.57a = new string[]{"a","d","b","c","e"};
0424デフォルトの名無しさん
2012/01/23(月) 19:56:00.160425デフォルトの名無しさん
2012/01/23(月) 19:56:46.40そこから後ろをArray.Copyで1個ずつ前にコピー
移動先を含めてArray.Copyで1個ずつ後ろにコピー
移動先に一時退避変数を代入
これでいいのか?
0426デフォルトの名無しさん
2012/01/23(月) 20:08:49.31string[] a = {"a","b","c","d","e"};
a = new string[]{a[0],a[3],a[1],a[2],a[4]};
0427デフォルトの名無しさん
2012/01/23(月) 20:29:27.090428デフォルトの名無しさん
2012/01/23(月) 20:58:54.100429デフォルトの名無しさん
2012/01/23(月) 21:04:30.13っていうか64バイトもいらんだろ
0430デフォルトの名無しさん
2012/01/23(月) 21:05:09.4000000001
00000002
という感じで使える文字の範囲で順番に作ればダブらないよ
0431デフォルトの名無しさん
2012/01/23(月) 21:06:24.150432デフォルトの名無しさん
2012/01/23(月) 21:07:12.530433デフォルトの名無しさん
2012/01/23(月) 21:09:25.200434デフォルトの名無しさん
2012/01/23(月) 21:10:21.84wwwwwwwww
0435429
2012/01/23(月) 21:10:36.500436429
2012/01/23(月) 21:11:20.840437デフォルトの名無しさん
2012/01/23(月) 21:12:52.14Guid自体は128bitだけど文字だと32文字→とりあえず32バイト→2つ必要
ってことなんじゃね?
0438デフォルトの名無しさん
2012/01/23(月) 21:13:06.89何だそのしょぼコードは!
おまけに結果が変だろ!
dがないだろ!
{"a","c","c","b","e"};
0439デフォルトの名無しさん
2012/01/23(月) 21:26:35.480440デフォルトの名無しさん
2012/01/23(月) 21:35:35.57どういう仕様なのか分からないからあれだが
0441デフォルトの名無しさん
2012/01/23(月) 21:37:32.9964バイトもいらん
0442デフォルトの名無しさん
2012/01/23(月) 21:50:29.960443デフォルトの名無しさん
2012/01/23(月) 21:52:59.680444デフォルトの名無しさん
2012/01/23(月) 21:56:51.39今回UUIDを文字列にする価値があるのかは知らんが
0445デフォルトの名無しさん
2012/01/23(月) 22:01:29.10スタックオーバーフローになってしまいますがよい書き方や設定があったら教えてください。
0446デフォルトの名無しさん
2012/01/23(月) 22:15:20.97チェック状態変更する前にフラグ立てて、2回目以降のCheckedイベントを回避しろ
0447デフォルトの名無しさん
2012/01/23(月) 22:21:17.990448デフォルトの名無しさん
2012/01/23(月) 22:21:55.11>>447
この人は偽者です。
0449デフォルトの名無しさん
2012/01/23(月) 22:34:23.15fileExistsで確認してから削除するのととりあえずdeleteでエラーを受け取るのではどっちが良い(早い)ですか?
0450デフォルトの名無しさん
2012/01/23(月) 22:36:00.02困りましたね…
0451デフォルトの名無しさん
2012/01/23(月) 22:37:09.940452デフォルトの名無しさん
2012/01/23(月) 22:38:48.730453デフォルトの名無しさん
2012/01/23(月) 22:39:51.870454デフォルトの名無しさん
2012/01/23(月) 22:40:50.260455デフォルトの名無しさん
2012/01/23(月) 22:43:49.77良し悪しで言えば最悪だろうけど
0456デフォルトの名無しさん
2012/01/23(月) 22:48:40.280457デフォルトの名無しさん
2012/01/23(月) 22:58:37.340458デフォルトの名無しさん
2012/01/23(月) 23:02:47.980459デフォルトの名無しさん
2012/01/23(月) 23:04:49.19ファイル無くてもDeleteでエラー出ないぞ…
0460デフォルトの名無しさん
2012/01/23(月) 23:06:55.720461デフォルトの名無しさん
2012/01/23(月) 23:07:23.260462デフォルトの名無しさん
2012/01/23(月) 23:07:29.28川俣でもいるんだろうか…
0463デフォルトの名無しさん
2012/01/23(月) 23:09:34.76File.Delete メソッド
指定したファイルを削除します。指定したファイルが存在しない場合、例外はスローされません。
0464デフォルトの名無しさん
2012/01/23(月) 23:10:16.17チェックを付けたり外したりするdelegateはできましたが戻り値を受け取る方法がわかりません。
0465デフォルトの名無しさん
2012/01/23(月) 23:18:09.80>>449はそのままDeleteで削除する
0466デフォルトの名無しさん
2012/01/23(月) 23:37:18.30Control.Invokeの戻り値に「デリゲートの戻り値」が戻ってくると書いてあるだろう
http://msdn.microsoft.com/ja-jp/library/zyzhdc6b%28v=vs.80%29.aspx
デリゲートの中でListViewのアイテムにアクセスして、returnでCheckedを返せばいい
0467デフォルトの名無しさん
2012/01/23(月) 23:40:01.54例えばこんなURLで
hoge.com/hoge?id=1
id=1〜nまでのデータを取得したいんですけどどうすればいいですか?
0468デフォルトの名無しさん
2012/01/23(月) 23:41:53.300469デフォルトの名無しさん
2012/01/23(月) 23:42:03.23↓
WebClientでもなんでも使ってURLのリソースをGetします
↓
Perfect!
0470デフォルトの名無しさん
2012/01/23(月) 23:42:40.41あとティンコ
0471デフォルトの名無しさん
2012/01/23(月) 23:47:41.960472デフォルトの名無しさん
2012/01/23(月) 23:49:05.44こんな感じの固定したい変数がたくさんあるんですが、
コード中の各メソッドにちりばめられてます
後で変更するときにきついのですが
これはどのように管理したらよいでしょうか?
0473デフォルトの名無しさん
2012/01/23(月) 23:49:57.94>>数字をどうにかして
どうすればいいんですか?
0474デフォルトの名無しさん
2012/01/23(月) 23:50:48.06メソッドの中にしか変数を置けないと思っているのなら入門を読み直した方がいい
0475デフォルトの名無しさん
2012/01/23(月) 23:52:01.70とりあえず=の後ろを切り取って、数字を付け直せばいいんじゃないのかな
そのくらいは調べてできるよな
0476デフォルトの名無しさん
2012/01/23(月) 23:55:08.01はい。 仮に今idが1〜10まであって
突然11までとかになったら自分で修正するしかないのですか?
0477デフォルトの名無しさん
2012/01/23(月) 23:55:18.02classの真下に
private string filename = @"〜";
って各方法以外にありませんか?
Cでいう構造体みたいなのができればいいんですが
0478デフォルトの名無しさん
2012/01/24(火) 00:01:23.760479デフォルトの名無しさん
2012/01/24(火) 00:06:41.79できたありがと。
でもデリゲート意味わからなすぎ
0480デフォルトの名無しさん
2012/01/24(火) 00:08:50.79あとでコード修正しやすいように1ブロックにまとめて管理したいんです
0481デフォルトの名無しさん
2012/01/24(火) 00:19:32.14{
internal static readonly string filename1= @"〜";
internal static readonly string filename2 = @"〜";
internal static readonly string filename3 = @"〜";
internal static readonly string filename4 = @"〜";
}
って感じでまとめれば
0482デフォルトの名無しさん
2012/01/24(火) 00:20:01.760483476
2012/01/24(火) 00:39:59.24分かる方お願いします!
0484デフォルトの名無しさん
2012/01/24(火) 00:41:12.810485デフォルトの名無しさん
2012/01/24(火) 00:41:37.39アホらしいから何も言わなかったんだけどな
プログラムが「突然11になった」ことを認識できるように書けば自動化することもできるだろう
お前がAIを造ればいいんだよ
0487デフォルトの名無しさん
2012/01/24(火) 00:43:10.620488476
2012/01/24(火) 00:45:38.150489デフォルトの名無しさん
2012/01/24(火) 00:48:07.60その「必要なもの」を入手する部分を自動化する
その「「必要なもの」を入手する部分を自動化するために必要なもの」があるならそれも自動化する
これを必要なものがなくなるまで繰り返してようやくあなたは仕事から解放される
0490476
2012/01/24(火) 00:50:56.01+1を付け足しといたらいいんですかね
0491デフォルトの名無しさん
2012/01/24(火) 00:50:57.94どこから取ってくればいいかって?そんなことは知らん。
0492476
2012/01/24(火) 00:52:21.14難しいですね><
0493デフォルトの名無しさん
2012/01/24(火) 00:58:53.72MessageBox.Show(this,"ほげ");
でモーダルなメッセージボックスを出したいのですがこれだとエラーになりますが
正しい書き方を教えて頂きたいです。
0494デフォルトの名無しさん
2012/01/24(火) 01:02:50.29>>466
0495476
2012/01/24(火) 01:43:02.690496デフォルトの名無しさん
2012/01/24(火) 03:35:34.400497476
2012/01/24(火) 06:49:56.591から10までってわけじゃないのですが
…
0498デフォルトの名無しさん
2012/01/24(火) 07:02:54.31描画したいのですがどのようにすればよいでしょうか?
http://www5f.biglobe.ne.jp/~ayum/gazouhenkan/jtrim/066.html
0499476
2012/01/24(火) 07:08:31.00うーん。突然idが20までになったら、、10以降のデータを取得てぎないんですよね。難しい。
0500デフォルトの名無しさん
2012/01/24(火) 07:08:45.82こういうことじゃないのけ?
ttp://ideone.com/9K7Rn
コレでいいなら基本だと思うんだけど。
0501デフォルトの名無しさん
2012/01/24(火) 07:20:09.48リアルでやって捕まる前に「やめとけ」と一応言っておくよ。
ttp://ideone.com/YJuVK
0502デフォルトの名無しさん
2012/01/24(火) 07:25:11.44Accumulated PAIN revarse to you!!
0503476
2012/01/24(火) 07:28:52.65しりませんでした
ありがとうございます
0504デフォルトの名無しさん
2012/01/24(火) 07:31:34.10コレで鯖が止まったらどういう言い訳するんだよ。営利妨害じゃないか?
0505デフォルトの名無しさん
2012/01/24(火) 07:44:00.79逮捕されて有罪になったんだっけ?
落ちる原因がなんであれ、侵入した事実があれば逮捕で臭いメシ食えるよ、やったね!
0506476
2012/01/24(火) 07:47:33.540507デフォルトの名無しさん
2012/01/24(火) 07:51:21.090508476
2012/01/24(火) 07:51:45.650509デフォルトの名無しさん
2012/01/24(火) 07:59:34.212chの鯖結構高性能なんだぜ。あとは専ブラ作者とユーザに良識があるからだな。
情報取りに行った鯖がMMXPentiumで運営してて、落ちたらどうするんよ。
相手が貧弱でした!って言って通るのかよ。
0510デフォルトの名無しさん
2012/01/24(火) 08:13:45.83スレ一覧とかも、総当たりで取ってるんじゃなくてインデックス読んでるし。
0511デフォルトの名無しさん
2012/01/24(火) 09:03:16.390512デフォルトの名無しさん
2012/01/24(火) 11:05:59.37ここまでの流れ詳しく…
0513デフォルトの名無しさん
2012/01/24(火) 11:12:50.890514デフォルトの名無しさん
2012/01/24(火) 11:22:07.10どのくらい初心者かわからんが、全くの初心者なら関数電卓とか
ちょっとかじったことあるならペイントとか静止画⇔動画変換とか
0515デフォルトの名無しさん
2012/01/24(火) 11:41:27.440516デフォルトの名無しさん
2012/01/24(火) 12:15:30.781+(2*3)+(4/5*(6/3))みたいに括弧が出てくるとどのようにパーサして計算していいのか分からず
JavaScriptみたいにevalってないんですね
これは初心者にはキツイです
静止画と動画はおもしろそうですね
アナログ時計なら出来そうです
0517デフォルトの名無しさん
2012/01/24(火) 12:21:18.92ツリーを作る
0518デフォルトの名無しさん
2012/01/24(火) 12:21:49.030519デフォルトの名無しさん
2012/01/24(火) 12:22:52.76C# eval とか検索すればいいのに。
0520デフォルトの名無しさん
2012/01/24(火) 12:25:32.86オーバーヘッドがものすごいしメモリリークする
0521デフォルトの名無しさん
2012/01/24(火) 12:29:48.18AppDomainは動的コンパイルのリーク回避に使えなかったっけ?
0522デフォルトの名無しさん
2012/01/24(火) 12:32:29.120523デフォルトの名無しさん
2012/01/24(火) 12:35:07.26でも少なくとも初心者向けではないし頑張って勉強して作ったとしてもあんまり役に立たん経験
0524デフォルトの名無しさん
2012/01/24(火) 13:48:41.96毎回プロパティから変更するのは面倒&保存しなければならないので
0525デフォルトの名無しさん
2012/01/24(火) 13:50:44.340526デフォルトの名無しさん
2012/01/24(火) 13:57:46.950527デフォルトの名無しさん
2012/01/24(火) 14:22:40.880528デフォルトの名無しさん
2012/01/24(火) 17:18:22.870529デフォルトの名無しさん
2012/01/24(火) 17:21:40.110530デフォルトの名無しさん
2012/01/24(火) 17:24:49.05>>529
え?・・・え?
0531デフォルトの名無しさん
2012/01/24(火) 17:25:22.14嘘乙!
0532デフォルトの名無しさん
2012/01/24(火) 18:08:57.570533デフォルトの名無しさん
2012/01/24(火) 18:26:57.27何にもフォーカスがない状態でも知る方法を教えて頂きたいです
0534デフォルトの名無しさん
2012/01/24(火) 20:09:48.060535デフォルトの名無しさん
2012/01/24(火) 20:28:35.85なんてライブラリをusingして使うのでしょうか?
0536デフォルトの名無しさん
2012/01/24(火) 20:30:24.220537デフォルトの名無しさん
2012/01/24(火) 20:33:31.750538デフォルトの名無しさん
2012/01/24(火) 20:47:20.53新規プロジェクトのwindowsアプリケーションを作りテキストエリア(textBox1)を作って
string[] files = Directory.GetFiles("c:\\");
で取得したファイル一覧のテキストを表示してみようかな。と思っているのですが
static void fileListUpTest()内で"textBox1"にアクセスする方法がわかりません。
textBox1.Text="hogehoge";でテキストボックスの内容を書き換えるにはどうしたらよいのでしょうか
0539デフォルトの名無しさん
2012/01/24(火) 20:52:57.080540デフォルトの名無しさん
2012/01/24(火) 20:53:10.40>>537
あいりがとうございます
0541デフォルトの名無しさん
2012/01/24(火) 20:53:32.120542デフォルトの名無しさん
2012/01/24(火) 20:53:37.19・fileListUpTestはフォームが閉じてメッセージループが終了してからしか呼ばれない
こう書いても理解できないと思うけど。
上の画像のフォームの何もないところダブルクリックすると
Form1_Loadというメソッドが作られるからそこにfileListUpTestの中を切り取って張り付けろ
0543デフォルトの名無しさん
2012/01/24(火) 20:56:08.44・素直にForm1内に書け
・一応そこからでもtextBox1にアクセスできなくはないが、実用性は無い
0544デフォルトの名無しさん
2012/01/24(火) 20:57:54.880545デフォルトの名無しさん
2012/01/24(火) 20:58:08.470546デフォルトの名無しさん
2012/01/24(火) 21:03:50.250547デフォルトの名無しさん
2012/01/24(火) 21:13:20.40http://sakurasite.homeip.net/imgboard/img-box/img20120124210336.png
・・しかし、関数を書く場所がやはりわかりません。
20行目にfileListUpTest();と書いて処理を関数化する際
static void fileListUpTest(){textBox1.Text="okok";}(簡略化しました)
は何行目に入れればよいのでしょうか
http://sakurasite.homeip.net/imgboard/img-box/img20120124211203.png
0548デフォルトの名無しさん
2012/01/24(火) 21:14:40.990549デフォルトの名無しさん
2012/01/24(火) 21:18:24.030550デフォルトの名無しさん
2012/01/24(火) 21:21:10.60今書こうとしてるのがFormを継承したForm1クラスなので
その中に入れないとw
0551デフォルトの名無しさん
2012/01/24(火) 21:26:37.29ありがとうございます。21と22の間に
public void fileListUpTest() { textBox1.Text = "okok"; }
で動きました。
0552デフォルトの名無しさん
2012/01/24(火) 22:54:54.78使う箇所は20箇所くらいあるものですが3行くらいのコードでもまとめないとダメですか?
0553デフォルトの名無しさん
2012/01/24(火) 22:56:05.94どういう処理かわからんけどクラスが別なら場合によっては分けるしかないんじゃないの?
0554デフォルトの名無しさん
2012/01/24(火) 22:56:53.750555デフォルトの名無しさん
2012/01/24(火) 22:59:39.02関数の呼び出し自体は複数なってもいいぞ
ロジックを複数書くのはおかしいけど
0556デフォルトの名無しさん
2012/01/24(火) 23:00:21.550557デフォルトの名無しさん
2012/01/24(火) 23:06:29.73内容によるね
これは○○を〜する処理って明確にわかってるなら
メソッドに書き出したほうがいい
例えそれが一行だとしても明確な名前を付けてメソッドにしたら
確実にプログラムの理解度が上がるし後で変更しやすくなる
0558デフォルトの名無しさん
2012/01/24(火) 23:09:24.94初心者は戸惑うよね
0559デフォルトの名無しさん
2012/01/24(火) 23:15:35.49Cのころだとどこかのソースに関数置いておいて使うところでヘッダー取り込んで
使うっていうのが普通だったけどオブジェクト指向となるとその辺をどう吸収するかって
初心者は悩みそう
まあ悩んだら機能を持たせるクラスを作ってそこへほうりこんで必要になったら
newして使えばいいんだけどね
System.IO関連のクラスのような感じで
0560デフォルトの名無しさん
2012/01/24(火) 23:16:32.03プログラム入門と歌いながら他言語から移ってきた人用にしか見えない入門書ばかり
0561デフォルトの名無しさん
2012/01/24(火) 23:19:33.78下手に考えながらやっても時間かかるだけ
最初は考えるより学ぶのが重要
0562デフォルトの名無しさん
2012/01/24(火) 23:22:20.77一応そういう本も擁護しとくと、「プログラミング入門」と「C#入門」はまた話が別。
まあそうは言っても、あえてそこを曖昧にしてたり、前書きにはっきりプログラミング初心者を
読者対象と書いてあるのに中身は全然そうなってない詐欺的な本とか実際あるね
0563デフォルトの名無しさん
2012/01/24(火) 23:22:53.320564デフォルトの名無しさん
2012/01/24(火) 23:23:26.70オブジェクト指向じゃない言語をやって
初めて理解できるものだと思う
0565デフォルトの名無しさん
2012/01/24(火) 23:23:40.78if (e.Button == MouseButtons.Left)
{
button1.Text = "1";
}
の4行か下の呼び出しの1行か
void setButton1Text(MouseEventArgs e,int num)
0566デフォルトの名無しさん
2012/01/24(火) 23:24:45.800567デフォルトの名無しさん
2012/01/24(火) 23:25:59.26Androidの本は本当に酷いのが多い。っていうか、まともな本ってあるのかな。
0568デフォルトの名無しさん
2012/01/24(火) 23:26:07.000569デフォルトの名無しさん
2012/01/24(火) 23:28:03.850570デフォルトの名無しさん
2012/01/24(火) 23:28:59.16その様子だと、個々のPictureBoxごとにイベントハンドラを用意してそうだなw
まずそれを1つにまとめることを考えた方がいい。
0571デフォルトの名無しさん
2012/01/24(火) 23:31:24.05setButton1Text
この名づけ方はただやってることをそのまま名前にしただけだよね
もっと意味のある言葉で書き換えられないの?
俺はそのソース見てないけど
何のためにあるボタンに
なんでテキスト変更してんのかわからない
選択した画像に何か処理するためのボタンじゃないかと思うけど
0572デフォルトの名無しさん
2012/01/24(火) 23:31:50.750573デフォルトの名無しさん
2012/01/24(火) 23:31:56.48そういう機能があるカスタムコントロールを作ればいいじゃん
もしくは、ピクチャボックス作成時に、イベントハンドラを登録するとか
var pb=new PictureBox();
pb.Click=new EventHnder(rename())
0574デフォルトの名無しさん
2012/01/24(火) 23:41:53.93書き捨て
つまりもう二度と変更しないならそのままでいい
ただしこれは今のレベルでの話
0575デフォルトの名無しさん
2012/01/24(火) 23:44:18.560576デフォルトの名無しさん
2012/01/24(火) 23:47:29.61>個々のPictureBoxごとにイベントハンドラを用意してそうだなw
が気になります。object sender, MouseEventArgs eを丸投げして一まとめはわかりますが、
イベントプロシージャが20個要らない書き方があるということですか?
名前の付け方はいつもこんな感じでやってることを書くようにしてますが処理の内容を書くべき?
でもそうすると処理をするメソッド名が困るような気が・・
0577デフォルトの名無しさん
2012/01/24(火) 23:50:29.00>イベントプロシージャが20個要らない書き方があるということですか?
あるよ
どういう目的の物を作ってて現状どういうコードなのかとかわかれば
アドバイスもしやすいんだが・・・
0578デフォルトの名無しさん
2012/01/24(火) 23:51:23.04うん、今の段階で君が最初に調べて覚えるべきことは、
コードでコントロールのイベントをメソッドに紐付けする方法。
あとのことはそれから考えればいいよ。
0579デフォルトの名無しさん
2012/01/24(火) 23:55:30.52それを押すと縮小して保存するというものなんですが・・
>>578調べてみます
0580デフォルトの名無しさん
2012/01/25(水) 00:09:13.33フォームアプリケーション製作にMVCで作成できますか?
フレームワークをググってもasp.netばっかり引っかかってしまうので
0581デフォルトの名無しさん
2012/01/25(水) 00:11:29.74winformは・・・
0582デフォルトの名無しさん
2012/01/25(水) 00:26:23.87http://pastebin.com/nbCye2hv
↑でいいですか? (ピクチャーボックス20個一まとめの件)
0583デフォルトの名無しさん
2012/01/25(水) 00:26:40.44c#も言語的には大して変わらない
WPFは地獄w
0584デフォルトの名無しさん
2012/01/25(水) 00:29:15.66なんでインデックスが1からはじまってるんだろう・・・。
なぜfor文を使わないんだろう・・・。
0585デフォルトの名無しさん
2012/01/25(水) 00:30:07.25静的に設置してあるpictureBoxのインスタンスを配列に入れるのは譲ったとしても
その後のClickイベント割り当てはせめてループにしろw
0586デフォルトの名無しさん
2012/01/25(水) 00:37:51.69インデックス番号はコントロール名と統一してみました。
でも大体正解みたいでよかったです。こんなまとめ方は想像もしてなかったのですごく良いことを知った気分です♪
0587デフォルトの名無しさん
2012/01/25(水) 01:26:45.39button.MouseDown += new MouseDown(button_Click)
としないのはなんで。自分で完全修飾名書いたのか。
俺は冗長なのが嫌いだから new MouseDown もかかないで、暗黙の型変換に任せるが。
まあ、これは人によると思うけど。
+= のあとに tab 2 回押せばコードスニペットっていう機能で勝手に
メソッドが追加される。
あと、こういったコードを書くときは短形編集機能を知っておくといい。
alt 押しながらマウスなりキーボードなり (Shift + 矢印) で選択すると短形編集ができる。
0588デフォルトの名無しさん
2012/01/25(水) 01:34:07.96Load イベント内でイベントを登録するのはよろしくない。
Form1 ってことは MainForm だろうから問題はおそらくでないが、
一般に Form.Load イベントは 1 回しか呼ばれるとは限らないから。
今後の拡張も考慮して、コンストラクタ内で追加するようにしたほうがいい。
public Form1() {
. InitializeComponent(); // コントロールの初期化部分。この後に記述する。
. RegisterEvent(); // イベント登録するメソッドとしてまとめるほうが多分いい。
}
private void RegisterEvent() {
. p[1] = pictureBox1;
. ...
0589デフォルトの名無しさん
2012/01/25(水) 02:27:40.37メインフォームとサブフォームで「Listviewをcsvファイルに保存する」という
同じメソッドを使うのですが、やはりクラスファイルなどを別に作って呼び出した方が
良いのでしょうか?(と言ってもその方法がわからないのでこれから勉強するのですが)
それともこれくらいならわざわざ別ファイルを作るのはかえって効率悪いのでしょうか?
0590デフォルトの名無しさん
2012/01/25(水) 02:35:51.65ファイルは同じでもいいがせめてクラスは別にしなさい。
0591デフォルトの名無しさん
2012/01/25(水) 02:41:57.21別のファイルに分けた方がよい
当然クラスも別物が必要になる
ただ小規模で単機能の共通関数をいくつか使うだけなら、あえて専用のクラスにしなくても、
MyCommon みたいな共通関数格納用のクラスをあらかじめ作っておき、
そこに関数だけを追加していく手もある
0592デフォルトの名無しさん
2012/01/25(水) 02:43:10.12public static void SaveAsCSV(ListView listview, string fileName);
}
みたいなの作るとか。拡張メソッドにしてもいい。
データを持つクラスがあるならそこにメソッド書いたほうが見通しがいいかもしれない。
0593デフォルトの名無しさん
2012/01/25(水) 02:47:02.90589が言ってるみたいに複数のフォームから呼び出す場合は別クラスでいいとして、
1箇所こっきりしか使わない場合でも別クラスにすべきでしょうか?
正直、クラスの作り方とか概念は理解できても、どういう場合にクラスを分けるかって
ところで毎回迷います。入門書みたいに、従業員クラスがあってどうのこうのみたいな話だと、
ついフォームクラス複数+データ保持クラス1個みたいなとこで満足してしまい結局はフォーム
クラスが肥大化しがちで、これでいいのか迷ってます。
すいませんなんか抽象的な話で。
0594デフォルトの名無しさん
2012/01/25(水) 02:49:23.54p[1] = pictureBox1;
:
p[20] = pictureBox20;
VB脳…
0595589
2012/01/25(水) 02:49:39.45>>590
やっぱり分離すべきですよね。
>>591
なるほど、そういう方法もあるのですね。
関数の分だけクラスファイルを作るのはどうなんだろうと思っていたので
良い勉強になりました。
>>592
なるほど。詳しく説明していただいてありがとうございます。
とりあえず「格調メソッド」をggってきますw
0596デフォルトの名無しさん
2012/01/25(水) 02:50:00.39#region
0597デフォルトの名無しさん
2012/01/25(水) 03:10:21.20良くないよ。
フォームには、「このボタンが押されたらこの処理を呼ぶ」みたいなルーティングと、
「データが更新されたらしいので描画しなおす」って処理以外書かない方が無難。
処理の実体は分離。
0598デフォルトの名無しさん
2012/01/25(水) 03:17:41.66関係したものをクラスとして扱う。
関係ないものがそのクラスにあるのは気持ち悪いと思うべき。
だから、クラス名とそのメソッドの処理内容がかけ離れていないかを基準とする。
例えば、ListView を CSV 化するメソッドはリストビュー関連または、
そのデータ関連のクラスに書かれるべきだ。Form ではなく。
(プロジェクトが小さいのならば余り考えなくてもいいと思うが)
特に、見た目と処理部分を分けることをビューとモデルの分離といい、
MVC, MVVM とかいったパターンがあるくらい重要な概念。
だから最終目標は、UI (見た目)クラスには UI 関係のみが書かれていて、
イベントで処理メソッドを呼ぶだけ、とすること。
まあ、数年勉強してから勉強するのがいい。難しいと思う。
まずは、関連性からクラスを分け、private なりを駆使して
他のクラスから使いやすいようにする。
次に見た目の部分も、UserControl でパーツ分けをするといい。
この時、TextBox.Text とかは直接公開するのではなくプロパティを使う。
UserControl を作るころには必然とデータとビューが分離してくる。はず。
あとは region 使ってまとめる。
0599デフォルトの名無しさん
2012/01/25(水) 03:22:13.070600デフォルトの名無しさん
2012/01/25(水) 09:23:34.280601デフォルトの名無しさん
2012/01/25(水) 10:13:22.82結構勉強になると思う
これは何でこんな場所だ とか この名前はちょっと
とか その逆もまたしかり
0602デフォルトの名無しさん
2012/01/25(水) 11:09:45.61a[0]=3、a[1]=1,a[2]=5で
randomarray(a)
ってやったら
a[0]=5、a[1]=1、a[2]=3
みたいに配列の内容がぐちゃぐちゃになる関数です
0603デフォルトの名無しさん
2012/01/25(水) 11:11:32.710604デフォルトの名無しさん
2012/01/25(水) 11:42:47.03ちょっと工夫すればインプレースでもできるけど考え方は全く同じ
0605デフォルトの名無しさん
2012/01/25(水) 11:52:09.06というか配列なんて使わないでList<T>そのまま使ったほうがリアルなシャッフルに近くなるけどね
乱数ででた数字の場所を抜き取って後ろにつけるとかやっていけば
0606デフォルトの名無しさん
2012/01/25(水) 12:00:11.930607デフォルトの名無しさん
2012/01/25(水) 12:11:55.00使った奴消さないと何回も同じ奴選んじゃうでしょ
0608デフォルトの名無しさん
2012/01/25(水) 12:43:28.54http://ideone.com/lvlG7
0609デフォルトの名無しさん
2012/01/25(水) 14:18:44.97{
j = 乱数(0〜n-1)
array[i]とarray[j]を交換
}
0610デフォルトの名無しさん
2012/01/25(水) 15:39:56.18OrderByは同値の時に順序が残るから
同値の場合に元の配列の前にある方が前に来るので
完全なランダムになってないと思う
0611デフォルトの名無しさん
2012/01/25(水) 15:46:28.43{
var r = rand.Next(i + 1);
array[i] = array[r];
}
これでいいはず
これが正解でしょ
0612デフォルトの名無しさん
2012/01/25(水) 15:50:46.77for(int i = array.Length - 1; i >= 1; --i)
{
var r = rand.Next(i + 1);
var temp = array[i];
array[i] = array[r];
array[r] = temp;
}
こうかな
0613デフォルトの名無しさん
2012/01/25(水) 15:55:15.250614デフォルトの名無しさん
2012/01/25(水) 15:57:58.16プログラムにあるのは参考例であって正解はないよ
結果的に目的の動作をすれば極端な話どんなコード書いてもいいし
動けばいいんだよ
ただそれだと困るので参考例は必要だけどw
0615デフォルトの名無しさん
2012/01/25(水) 16:49:02.93選択して抜いていく方式の場合はすべての要素を等確率で選ばなければいけないが
丸めのせいで無理
0616デフォルトの名無しさん
2012/01/25(水) 17:52:21.20ソートの逆のような感じ
0617デフォルトの名無しさん
2012/01/25(水) 18:42:31.660618デフォルトの名無しさん
2012/01/25(水) 18:44:45.54何か地震雲が発生したらしいじゃないですか
何で先輩方はやる気あるんですか
0619デフォルトの名無しさん
2012/01/25(水) 18:49:43.11初心者がやると手間取ったり難しそうな処理はどんなのが考えられるでしょうか
0620デフォルトの名無しさん
2012/01/25(水) 18:51:59.69今は作り方を解説してるところもあるので別になんにもないよw
http://cs2ch.blog123.fc2.com/blog-entry-1.html
面倒なのは今時差分取得を推奨する2ch特有のアクセス方法くらいかな?
0621デフォルトの名無しさん
2012/01/25(水) 19:09:35.51逆に使われだすと今度はキチガイユーザーの粘着に耐えられるかがポイント
0622デフォルトの名無しさん
2012/01/25(水) 19:17:02.77あるもの使えばいいじゃない
0623デフォルトの名無しさん
2012/01/25(水) 19:18:47.37PHPのfile関数と同じことがやりたいのです
0624デフォルトの名無しさん
2012/01/25(水) 19:33:11.340625デフォルトの名無しさん
2012/01/25(水) 19:37:17.25ありがとうございます
0626デフォルトの名無しさん
2012/01/25(水) 19:38:01.10rgb 0,0,0と数字で指定する方法をご教示お願いします
0627デフォルトの名無しさん
2012/01/25(水) 19:52:36.440628デフォルトの名無しさん
2012/01/25(水) 20:56:14.010629デフォルトの名無しさん
2012/01/25(水) 20:59:31.77補完だしたらBlackとかRedのところにそういうもの混じってたんですね
どうもありがとうございます
0630デフォルトの名無しさん
2012/01/25(水) 21:43:13.46エラー 1 デリゲート 'System.EventHandler' に一致する 'form_KeyDown' のオーバーロードはありません
っていうエラーが出てしまいます
どうやってイベントを登録したらよいでしょうか?
this.KeyPreview = true;
this.KeyDown += new EventHandler(formEvent_KeyDown);
private void formEvent_KeyDown(object sender, KeyEventArgs e) { }
0631デフォルトの名無しさん
2012/01/25(水) 21:45:08.26KeyEventHandlerって打ったらできました
0632デフォルトの名無しさん
2012/01/25(水) 21:46:02.82ブログって記事見難いんだよなー
そこもブラウザの記事見たくてもまとまってないからみれないし
0633デフォルトの名無しさん
2012/01/25(水) 21:46:08.62private void formEvent_KeyDown(object sender, KeyEventArgs e) { }
を出す
それから入門書を読む
0634デフォルトの名無しさん
2012/01/25(水) 21:47:35.50そもそもc#の質問じゃないでしょ
0635デフォルトの名無しさん
2012/01/25(水) 21:55:45.12アドインの機能かもしれないけど
0636デフォルトの名無しさん
2012/01/25(水) 21:58:22.520637デフォルトの名無しさん
2012/01/25(水) 21:58:36.32http://monazilla.org/index.php?c=6-20
0638デフォルトの名無しさん
2012/01/25(水) 22:04:47.12クラスのプロパティにインデクサを利用したい場合、どのように実装するのが一般的でしょうか。
・やりたいこと
xml 形式の設定ファイルを用意し、このファイルを管理するクラスを作成する。
必要な要素にはプロパティを用意してファイルを意識させないように参照/設定を行う。
参照する要素にはノードの属性値を利用したい項目があり、この属性値をインデクサで指定したい。
・対策案
a. プロパティの型として専用のクラスを用意し、[] 演算子のオーバーロードを実装する。
‥‥ただ、基本的にはデータ型は string でやりたいのだけど、この代理クラスを用意すると
プロパティへの参照をクラス経由で行うことになり煩雑? operator= があればなぁ。。。
b. ファイルの内容をあらかじめ Dictionary なりに読み込んでおき、この Dictionary を直接外部公開してしまう。
あるいは代理クラスを用意してそのインデクサを Dictionary のキーとして参照する。
‥‥必要ない項目をあらかじめ読むのもなぁ。。。
強引に書けばいくらでもやり方はありそうなんですが、なんだか美しくないような気がします。
美しいかどうかは別にいいとしても、一般的にわかりにくくなってしまっては面白くないので、どうしたものかと。
0639デフォルトの名無しさん
2012/01/25(水) 22:12:00.77C++脳みたいな妙なこと考えないで素直にするのが一番一般的にわかりやすい。
0641デフォルトの名無しさん
2012/01/25(水) 22:18:59.72コードからプロパティを設定すると反映されるプロパティってありますよねreadonlyプロパティとか。
やっぱりプロパティって右下で設定しないものでしょうか?
0642デフォルトの名無しさん
2012/01/25(水) 22:35:42.02ttp://air-snowly.cocolog-nifty.com/rakkyo/2008/02/c2_223f.html
のようなことがやりたいのですが.Net4.0だと簡単にできませんか?
0643デフォルトの名無しさん
2012/01/25(水) 22:36:40.980644デフォルトの名無しさん
2012/01/25(水) 22:46:30.86いまいち要領を得ないんだが、operator implicitで良くない?
XLinq系のように
0645デフォルトの名無しさん
2012/01/25(水) 22:51:11.190646デフォルトの名無しさん
2012/01/25(水) 22:52:26.930647デフォルトの名無しさん
2012/01/25(水) 22:56:18.750648デフォルトの名無しさん
2012/01/25(水) 23:02:09.17どのようにして終わらすのでしょうか?
0649デフォルトの名無しさん
2012/01/25(水) 23:07:50.24どういう状況においてだよ
色コード?
0650デフォルトの名無しさん
2012/01/25(水) 23:34:17.32C#のwinフォームではマネージ型classをexternして別ファイルで参照。
みたいな事って出来るんですか?
後、できない場合、他の方法で上の条件を満足する動きをするように組むにはどうしたら良いですか?
最後に、今日からC#改めてやり始めようと思ってるんだけど、C++みたいなノリでは書けないですよね
0651デフォルトの名無しさん
2012/01/25(水) 23:39:30.50DLL にして(クラスライブラリを作成して) static なインスタンスとして
どっかに保持しておけばいいと思う。
そもそもマネージ型しか C# にはない。
0652デフォルトの名無しさん
2012/01/25(水) 23:39:54.04c++を使えて
c#やったら幸せになれる
0653デフォルトの名無しさん
2012/01/25(水) 23:46:00.43c#4.0には、.net4必須みたいな。
0654650
2012/01/25(水) 23:48:16.20すいません、説明が足りませんでしたね。
外部からリソースを読み込んで、
その内容をclassに突っ込んで
他の.csから上のclassのメンバを参照しながら云々くんぬん処理してくって質問です。
0655デフォルトの名無しさん
2012/01/25(水) 23:48:41.41少なくとも整数バージョンはね
0657デフォルトの名無しさん
2012/01/25(水) 23:50:55.93何だか20世紀の臭いがするな
0658デフォルトの名無しさん
2012/01/25(水) 23:53:21.13DOMのエレメントの中には含まれないようなのでClickイベントを発生させられないみたいです
マウスポインタを操作する以外でほかに方法があったら教えてください。
0659デフォルトの名無しさん
2012/01/25(水) 23:55:09.69おれは >>652 じゃないけど、
C++ レベルで言語を知っていると C# を使う際にも効率的なコードが書けるよ、
という意味であって、C++ を頑張れという意味ではないと思うんだ。
もしくは、高速化のために部分的に C++ を使えるからいいという意味か。
マネージ型云々言うってことは、.NET 触っているのだろうけど、
それならば素直に C# 使うほうがいい。
0660638
2012/01/25(水) 23:56:21.77ありがとうございます。
operator implicit は知らなかったのですが、試してみます。
インデクサを使わずにメソッドを使うというのも選択肢ではあるのですが、
既存部分がプロパティを使ってるのと、自分の 趣 味 で。
前言と矛盾してますね。すみません。
0661デフォルトの名無しさん
2012/01/26(木) 00:01:49.86それC#の質問じゃないと思うけど、FileUploadはJavaScriptからロクに弄れないから無理だと思うよ
0662デフォルトの名無しさん
2012/01/26(木) 00:04:37.27セキュリティ的に無理じゃね
0663650
2012/01/26(木) 00:06:50.01回答ありがとうございます。
それはわかっていたつもりです。
C→C++とやってきてC#やってみようかな
と昔思った時にC#の本を借りてきたんですけどすぐ挫折してしまって
で、今またC#が必要っぽい状況になったので改めて学び直そうと思ったという事です。
0664デフォルトの名無しさん
2012/01/26(木) 00:08:11.230665デフォルトの名無しさん
2012/01/26(木) 00:13:12.60var thumb = sender as Thumb;
if (thumb == null) return;
var parent = thumb.Parent;
if (parent == null) return;
double x = Canvas.GetLeft(parent);
if (double.IsNaN(x)) x = 0;
double y = Canvas.GetTop(parent);
if (double.IsNaN(y)) y = 0;
Canvas.SetLeft(parent, x + e.HorizontalChange);
Canvas.SetTop(parent, y + e.VerticalChange);
というコードを実行するとParentに対して
'System.Windows.DependencyObject' から 'System.Windows.UIElement' に変換できません
というエラーが帰ってきます。親要素を取得したいのですが、どうすればいいのでしょうか?
0666デフォルトの名無しさん
2012/01/26(木) 00:16:32.48Parent は DependencyObject という型だから、UIElement 型に変換しないといけない。
実際に、親要素はなんなのかな。
まあ、
if (parent == null) return; のあとに
parent = parent as UIElement; とでもしておけ。
0667デフォルトの名無しさん
2012/01/26(木) 00:17:22.660668デフォルトの名無しさん
2012/01/26(木) 00:18:30.59var uiElement = parent as UIElement;
として、以降 parent -> uiElement
0669デフォルトの名無しさん
2012/01/26(木) 00:19:11.28var parent = thumb.Parent as UIElement;
としないと
0670デフォルトの名無しさん
2012/01/26(木) 00:21:10.77>>668 なら throw される。
0671デフォルトの名無しさん
2012/01/26(木) 00:21:11.080672デフォルトの名無しさん
2012/01/26(木) 00:23:32.68returnされるならそれはそれで正しい動作だろ
あとでCanvas.GetLeft(parent);やってんだから
0673デフォルトの名無しさん
2012/01/26(木) 00:24:54.17>>669さんのやり方でコンパイルは通りましたが後の処理がうまくいかないです…>>666さん、>>669さんのやり方試して見ます!本当に有難う御座います!
0674デフォルトの名無しさん
2012/01/26(木) 00:28:31.550675デフォルトの名無しさん
2012/01/26(木) 00:40:18.14本当に本当にありがとうございました!
0676デフォルトの名無しさん
2012/01/26(木) 00:43:48.22ステップ実行とか、ブレークポイントを覚えるといい
後は、というより前提として文法を覚えたほうがいい
0677デフォルトの名無しさん
2012/01/26(木) 00:44:14.88そのサンプルコードすら動かせない
この世界ではそんなことが日常茶飯事だよ
でもめげないでね
0678デフォルトの名無しさん
2012/01/26(木) 00:47:33.90そうですか・・別の方法を考えて見ます。
ありがとうございました
0679デフォルトの名無しさん
2012/01/26(木) 00:48:42.10もっと勉強してきます!ありがとうございます!
0680デフォルトの名無しさん
2012/01/26(木) 00:48:48.59Console.WriteLine(parent.GetType());
かなんかやると出力ウインドウに本当の型名が出てくるから
それをコピペしてググるといいよ
Console.WriteLineって書いてある行でF9を押して行を赤くしてから実行するとそこで止まるから
そうなったらparentにマウスカーソルを合わせても情報が見れる
0681デフォルトの名無しさん
2012/01/26(木) 00:51:05.48ありがとうございます!別の課題に当たってからもう一度やってみようと思います。その時参考にさせて頂きます!
0682デフォルトの名無しさん
2012/01/26(木) 00:53:20.45元ネタこれだろ?
double x = Canvas.GetLeft(parent);
ここが間違ってんだよ。親の位置取得してどうするのさ
0683デフォルトの名無しさん
2012/01/26(木) 01:01:16.110684デフォルトの名無しさん
2012/01/26(木) 01:03:35.340685デフォルトの名無しさん
2012/01/26(木) 01:05:17.37あなたが本の著者なら、そんな読み手をわざわざ限定するような本を書くでしょうか?
それもAndroidバブルの時に
0686デフォルトの名無しさん
2012/01/26(木) 01:08:12.970687デフォルトの名無しさん
2012/01/26(木) 02:46:33.85今は下のように書いてます。プロパティごとに毎回こんなの書きたくないです。
public string Hoge { get { return _hoge; } set { if (_hoge != value) { _hoge = value; if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs("Hoge"); } }
↓みたいなマクロを使えたら嬉しいんですが。
#define MAKE_PROPERTY(NAME, TYPE) \
private TYPE _##NAME; \
public TYPE NAME { get { return _##NAME; } set { if (_##NAME != value) { _##NAME = value; if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs(#NAME); } }
MAKE_PROPERTY(Hoge, string)
0688デフォルトの名無しさん
2012/01/26(木) 06:47:36.700689デフォルトの名無しさん
2012/01/26(木) 09:05:40.77ありがとうございます。そのページのコードは問題なくどうさするんですけど、問題は次のオブジェクトを並べる部分で…
自分で
0690デフォルトの名無しさん
2012/01/26(木) 10:37:33.400691デフォルトの名無しさん
2012/01/26(木) 10:39:55.400693デフォルトの名無しさん
2012/01/26(木) 10:56:09.46そうか。新機能を使ってなければ3.5でいいのか。
ありがとん。
0694デフォルトの名無しさん
2012/01/26(木) 11:40:01.75XNAでゲーム作りたくて、C#からプログラミング初めました
文法はわかってるつもりですが、でかいものを作ることができません
少ないコードのサンプルがいいんですが、何かいいホムペとかないですか?
0695デフォルトの名無しさん
2012/01/26(木) 11:41:51.83文法わかっているなら、少ないコードのサンプルなんて不要だろ
DOBONで十分
0696デフォルトの名無しさん
2012/01/26(木) 11:51:37.18海外ではオープンソースのコードがいっぱい落ちてるからそれでも読んだらいい
codeprojectなどがいいかもしれない
0697デフォルトの名無しさん
2012/01/26(木) 11:54:06.640698デフォルトの名無しさん
2012/01/26(木) 11:56:28.96読んでばかりじゃ自分のものにならない。
0699デフォルトの名無しさん
2012/01/26(木) 11:57:45.71なんというかプログラマ的思考法に慣れてないようでかなり苦手意識感じてるんで少ないコードのって話になっちゃいました
幸いxnaのサンプルがあるんでそれが近道のようなので読んでみます ありがとうございます
0700デフォルトの名無しさん
2012/01/26(木) 11:58:31.46作れるとしたら単なるコピペで動かせるようになるだけ
0701デフォルトの名無しさん
2012/01/26(木) 15:10:06.07{
InitializeComponent();
_mediaelement = new MediaElement();
_mediaelement.Source = new Uri(@"D:\test\test.mp4");//テスト用の動画を指定。長さは30分
_mediaelement.ScrubbingEnabled = true;//シーク中の動画が描画されるように設定
_mediaelement.LoadedBehavior = MediaState.Manual;//再生・一時停止・停止が行えるように設定
_mediaelement.Position = new TimeSpan(0, 10, 0);//動画を10分までシーク
_mediaelement.Pause();//動画が描画されるように一時停止。
MediaArea.Children.Add(_mediaelement);
}
この後、ボタンをクリックして _mediaelement.Play();を呼び出すようにしたのですが、なぜか10分から再生されず、動画の最初から再生されてしまいます。
どこがいけないのでしょうか。
0702デフォルトの名無しさん
2012/01/26(木) 15:31:39.92それより…
0703デフォルトの名無しさん
2012/01/26(木) 19:21:14.80プログラミングコンテストの問題で練習するというのはどうだろう。
http://wmecast.net/user/jonosuke
0704デフォルトの名無しさん
2012/01/26(木) 21:29:44.550705デフォルトの名無しさん
2012/01/26(木) 21:39:05.190706デフォルトの名無しさん
2012/01/26(木) 21:45:14.290707デフォルトの名無しさん
2012/01/26(木) 21:48:11.00それをあらかじめ回避するのは呼び出し元の責任
0708デフォルトの名無しさん
2012/01/26(木) 21:48:19.010709デフォルトの名無しさん
2012/01/26(木) 21:53:02.58設定ファイルを開くとかそういった細かい関数、クラスを
include "library.cs";とか簡単に外部ライブラリ化するにはどうしたらよいのでしょうか
やりたい事はこのサイトで書いてある事でいいのですが
http://smdn.jp/programming/netfx/classlibrary/0_howtocreate/
このサイトはVSのバージョンが古く、2010と画面が違う箇所があって躓いてしまいました。
0710デフォルトの名無しさん
2012/01/26(木) 21:55:31.64ライブラリを使うプロジェクトでは既存のプロジェクト追加して使うのが簡単
0711デフォルトの名無しさん
2012/01/26(木) 21:55:32.30パラメータのチェックは呼び出し側の仕事
0712デフォルトの名無しさん
2012/01/26(木) 21:56:21.640713デフォルトの名無しさん
2012/01/26(木) 21:58:35.31例外を投げないといけない
0714デフォルトの名無しさん
2012/01/26(木) 22:00:33.20同じ人が書いてるならいいんだろうけど
0715デフォルトの名無しさん
2012/01/26(木) 22:00:45.540716デフォルトの名無しさん
2012/01/26(木) 22:02:06.870717デフォルトの名無しさん
2012/01/26(木) 22:06:53.390718デフォルトの名無しさん
2012/01/26(木) 22:07:46.862008から2010って3年で出てるのでもしかして出ますか?
今から2010を入れて勉強するのはやめるべきでしょうか?
0719デフォルトの名無しさん
2012/01/26(木) 22:11:34.312008以降そんなに変わってないよねC#
0720デフォルトの名無しさん
2012/01/26(木) 22:12:22.030721デフォルトの名無しさん
2012/01/26(木) 22:12:26.04次のバージョンのC#は非同期サポートがはいるのでものすごく変わる
0722デフォルトの名無しさん
2012/01/26(木) 22:15:26.00これは変わらない
0723デフォルトの名無しさん
2012/01/26(木) 22:22:39.84のよくある流れが自然に書けるようになるからBeginInvokeを使う機会は減るんじゃないの
ちゃんと理解してないと使えないのは変わらないだろうけど
0724デフォルトの名無しさん
2012/01/26(木) 22:22:47.730725デフォルトの名無しさん
2012/01/26(木) 22:58:54.19コンボボックスにテーブルをバインドしてDisplayメンバとValueメンバを割り当てています。
そのValueメンバとある文字列が一致したDisplayメンバを得たいのですが
どうしたら効率がいいでしょうか?
お願いします。
0726デフォルトの名無しさん
2012/01/26(木) 23:02:50.300727デフォルトの名無しさん
2012/01/26(木) 23:06:04.65コンボボックスに一度に表示できる程度の常識的な数なら線形検索でも全く問題ない
0728デフォルトの名無しさん
2012/01/26(木) 23:11:44.83DataTable.Selectはダメだぞ
LINQ to DataTableは知らん
0729デフォルトの名無しさん
2012/01/26(木) 23:12:50.62foreachでやる方法でいいですかね?
0730デフォルトの名無しさん
2012/01/26(木) 23:58:55.090731デフォルトの名無しさん
2012/01/27(金) 01:05:26.81ここはWindows用アプリケーションのことを質問するスレですか?
0732デフォルトの名無しさん
2012/01/27(金) 02:28:37.54訳があってドロップではなくボタンでもドロップと同じ経路で画像を表示したいのですが、
下のコードの?の部分の書き方を教えて頂きたいです。
http://pastebin.com/mFqtV9aC
0733デフォルトの名無しさん
2012/01/27(金) 06:18:09.23いいえ、C#のことを質問するスレです
>>732
var dataObj = new DataObject( DataFormats.StringFormat, filename );
var e = new DragEventArgs( dataObj, 0, 0, 0, DragDropEffects.All, DragDropEffects.Copy );
かな
だけどこんな糞な呼び出し方しないで、
画像を文字列で設定するメソッドを書いて
それをpictureBox1_DragDropとbutton1_Clickの両方で呼ぶ方がいいよ
0734デフォルトの名無しさん
2012/01/27(金) 06:23:03.71DataFormats.FileDrop形式でデータオブジェクトにデータをセットしないといけないんだけど
それはグローバルメモリ確保したりCOMの知識がいるからこのスレ的にはほぼ無理
0735650
2012/01/27(金) 08:28:14.01ref修飾子がありました。
やりたい事にうってつけの動作でした。
ありがとうございます。
0736デフォルトの名無しさん
2012/01/27(金) 09:23:09.32よくわからんかったらとりあえずrefでいいし
でも、ちゃんとoutも理解しておくんだぞ
0737デフォルトの名無しさん
2012/01/27(金) 13:07:29.750738デフォルトの名無しさん
2012/01/27(金) 13:18:26.28おま・・・なんて恐ろしい事を・・・
0739デフォルトの名無しさん
2012/01/27(金) 13:50:08.38多用するべきではない
0740デフォルトの名無しさん
2012/01/27(金) 14:08:07.70あ、dllの挙動がわからんかったら、とりあえずrefで渡して値が変わったか確認しろって意味ね
言葉足らずですまん
0741デフォルトの名無しさん
2012/01/27(金) 14:14:05.590742デフォルトの名無しさん
2012/01/27(金) 21:34:12.71どうもありがとうございます
0743デフォルトの名無しさん
2012/01/27(金) 21:40:21.99マルチスレッドで、各スレッドの中でDrawImageを多用します。するとどうしても
CPU使用率が25%前後(クアッドコアなので1スレッドぶん)しか稼働しません。
いろいろ調べると、下記のサイトで全く同様の症状の人がいらっしゃったのですが、
どうも最終的には解決していないようです。ここにあるnew Bitmap(filename)で
ファイルをひらくのはやっています。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=42683&forum=7
また調べるとBitBltを使う方法もあるようですが、機能的にどうしてもGraphics
クラス、またはそれと同等の回転縮小平行移動が自由にできる機能が欲しいです。
高速化に良い方法ありませんか?
0744デフォルトの名無しさん
2012/01/27(金) 21:43:53.180745デフォルトの名無しさん
2012/01/27(金) 21:51:30.81解決しているように見えるけど?
0746デフォルトの名無しさん
2012/01/27(金) 21:57:18.79速度を求めるなら無駄な努力するよりWPF使ったほうがいいよ。
本当に画像の回転縮小平行移動だけでいいなら直Direct3Dも難しくないけど。
0747デフォルトの名無しさん
2012/01/27(金) 22:17:50.18http://ideone.com/0fs5O
SetPixelを連打するだけなら余裕で100%行くんだけどな
0748デフォルトの名無しさん
2012/01/27(金) 22:20:28.66またお前か
注意力散漫だぞ
0749デフォルトの名無しさん
2012/01/27(金) 22:22:39.76WPFはGPU描画って鵜呑みにしてんじゃないの
0750743
2012/01/27(金) 22:30:03.87GPUアクセラレーションより遅いのは仕方ないとして、1スレッドぶんしか動かない
ことが問題だと思っています。まさに>>747が指摘再現してくれているとおりです。
で、オススメしてくれたWPFはちょっと描画全体書き直しになりそうなので敬遠して
DirectXを調べてみようかと思います。今まで使ったことないのでまた苦労しそうだけど。
ちなみにDrawImageは画面描画のためではなくて画像処理だけに使うので、本当に回転
縮小平行移動しか使いません。>>746の難しくないという言葉をはげみに頑張ってみます。
0751デフォルトの名無しさん
2012/01/27(金) 22:43:21.97DirectXを使用している=ハードウェア支援が受けられるではない。
0752デフォルトの名無しさん
2012/01/27(金) 22:55:45.76ビットマップキャッシュをオンにすれば直接Direct3Dと遜色ない速度が出る
0753デフォルトの名無しさん
2012/01/27(金) 23:56:28.08Bitmapをファイルパス指定のコンストラクタで作るとロックがかかるから1スレッドしか動かんって>>743に書いてあるでしょうが
0754デフォルトの名無しさん
2012/01/28(土) 00:15:35.30別のセッションにしたい場合はどうすればいいですか?
Abandonしたら元のタブのセッションも消えてしまいました。
0755デフォルトの名無しさん
2012/01/28(土) 00:20:42.220756デフォルトの名無しさん
2012/01/28(土) 00:41:35.18同一マシンなら当然だろ…
タブ変えたら別セッションにしてたら通信できないだろ
0757デフォルトの名無しさん
2012/01/28(土) 11:15:24.64そのdll用のusing System.○○をコードに書いてます
もしdllがない場合はエラーで例外とか強制終了になりますと思いますが
プログラム起動時にdllの存在を確認してなければエラーダイアログを出して終了させるという処理はForm_Loadに入れればいいのでしょうか?
0758デフォルトの名無しさん
2012/01/28(土) 11:36:56.36SetPixelは100%行くっていってんじゃん
人の話はちゃんと把握しろよ?
0759デフォルトの名無しさん
2012/01/28(土) 11:38:49.90プロジェクトの参照に追加しているのなら
プログラムのMainに入る前にロードの処理をやるから
確認する暇は与えられない
0760デフォルトの名無しさん
2012/01/28(土) 11:42:34.98サイズはでかくなるけど
0761デフォルトの名無しさん
2012/01/28(土) 11:45:27.41実測が最も正しいに決まってんだろ
そもそも>>743にすら
>Bitmapをファイルパス指定のコンストラクタで作るとロックがかかるから1スレッドしか動かん
などと書いていない
>using (FileStream fs = File.OpenRead("イメージファイル"))
>
>ここでファイル開いてますよね?
>そして、using句を抜けるまで、開きっぱなしってことですよね。
>この行をなくしたら、非同期になりません?
>
>Bitmap bitmap = new Bitmap("mypicture.jpg")
>
>とかならOKかと思いますが。
全然逆じゃねえか
ロックされたくなければnew Bitmap(fileName)使えといってんだよこいつは
自分が参照した文書すらまともに確認せずに人様にケチつけるとはどういう了見だ?
死ね
二度と俺に話しかけるな
0762デフォルトの名無しさん
2012/01/28(土) 11:59:13.29初心者スレなんだから、回答者にもしたり顔の初心者くらい混じってるよ。
話に口を挟んだ挙句、それが間違ってるとなれば、腹が立つことは否定しないけど。
0763デフォルトの名無しさん
2012/01/28(土) 12:04:16.72>自分で提示したURLすらよく確認していない
>本当に死んだほうがいい
>>761
>自分が参照した文書すらまともに確認せずに
>死ね
引用するなら内容を確認しろ→死ねの流れが一緒だな
同一人物か?
0764デフォルトの名無しさん
2012/01/28(土) 12:22:29.01http://www.dotup.org/uploda/www.dotup.org2568376.png
Gdipの方に何かあるとしか思えない。
だけどGdipはこのスレで扱うことじゃないよね。
0765デフォルトの名無しさん
2012/01/28(土) 12:41:12.18http://social.msdn.microsoft.com/forums/en-US/winforms/thread/25cceaa4-f058-482a-8381-03698f73651a/
http://d.hatena.ne.jp/NyaRuRu/20061201/p1 (コメント欄)
中で何かやってるのは間違いなんだろうよ。
スレッドセーフでない=同期を使用していない、ではないからな。
0766デフォルトの名無しさん
2012/01/28(土) 12:53:32.70なんで最後まで読まないの?
>投稿日時: 2007-12-19 16:07
>あぶぽんさん、何度でも失礼してください(^^;
>ありがとうございます。
>
>FileStreamのCloseについて分かったことがあります。
>
>どうやら、Image.FromStream (Stream, Boolean, Boolean) メソッドの第三引数で動作が異なるようです。
>
>MSDNでは
> validateImageData
> イメージ データを検証する場合は true。それ以外の場合は false。
>となっており、これを false にすると、FileStreamをクローズできません。
>true にするとクローズできます。
>new Bitmap()やFromFile()で作成した場合もクローズできます。
>
>true にすると new Bitmap() や FromFile と同等のパフォーマンスになるので、
>Imageオブジェクト内のデータの持ち方に違いがあるのだと思います。
>
>もう少し調査してみます。
0767デフォルトの名無しさん
2012/01/28(土) 12:58:21.160768デフォルトの名無しさん
2012/01/28(土) 12:59:26.34それ以前に疑問があるんだけど
GDI+はSetpixelのような単機能とDrawImageのような複合機能を
同率に扱うと思うのか?
0769デフォルトの名無しさん
2012/01/28(土) 13:00:52.92>new Bitmap()やFromFile()で作成した場合もクローズでき
>true にすると new Bitmap() や FromFile と同等のパフォーマンスになる
読んでねえのはお前だろが下痢便野郎
「new Bitmap()と同等になった」と書いてあるだろが
0770デフォルトの名無しさん
2012/01/28(土) 13:08:25.10あぶぽんとやらが指摘しているのが、
>Bitmapをnewした方がファイルストリームをすぐ閉じるから速いのでは?
という点で、
それに対して質問者が、
>ファイルストリームを使用する場合はImage.FromStreamの第三引数をtrueにすると
>new Bitmapと同等のパフォーマンスが出るようになると確認できました
と報告しているんだと読み取れるが
一体これのどこからBitmapをファイル名でnewするとロックが掛かると読み取れたんだ?
0771デフォルトの名無しさん
2012/01/28(土) 13:12:34.73お前も論点把握してないのに口挟んでくるなよゴミムシ2号
100%行く処理もあるのにDrawImageだとシングルスレッドの制限が掛かるのはなぜかって話をしてんだよ
単機能がどうこう言う話じゃねえんだよ
0772デフォルトの名無しさん
2012/01/28(土) 13:19:41.71構造体にin、outが使えないのはなぜですか?→内部事情です。
と同じで。
答えは出ないと思うよ。
0773デフォルトの名無しさん
2012/01/28(土) 13:22:52.99複合機能の処理部が一個しかないとは考えないのかね?
0774デフォルトの名無しさん
2012/01/28(土) 13:25:59.740775デフォルトの名無しさん
2012/01/28(土) 13:30:16.20どこかにそう書いてあるなら提示してみろよ
考えないのかね?
推測で全て知った風に語ってんじゃねえぞ
0776デフォルトの名無しさん
2012/01/28(土) 13:35:13.49別に答えを出したいとは思ってねえよ
人様に生意気なケチ付ける以上はそれ以上を提示してもらおうとしているだけさ
別にスルーされればそれでよかった
new Bitmapでロックとか抜かす勘違い野郎と
憶測で複合機能と単機能がどうたらと抜かす野郎と
このゴミ2名が現れなければ何も言わなかった
俺はな
0777デフォルトの名無しさん
2012/01/28(土) 13:43:09.840778デフォルトの名無しさん
2012/01/28(土) 13:52:06.02>>760
まじすか困りましたね
dllを更新できるようにdllとexeは分けたいのですが
dllがない場合の確認方法か
Form_Loadからusingの設定とdllを読み込む方法ってできないですよね?
0779デフォルトの名無しさん
2012/01/28(土) 14:00:25.41プラグイン形式のアプリケーションと同じ方法を取ればいいんだよ
.NET4ならMEF、それ以前ならインターフェースを定義しておいて、Assembly.Loadから使う
http://dobon.net/vb/dotnet/programing/plugin.html
0780デフォルトの名無しさん
2012/01/28(土) 14:06:17.143.5以前でもcodeplexから落としてくれば使えることは補足しておく
0781デフォルトの名無しさん
2012/01/28(土) 14:17:25.34難しいそうですね
4なのでMEFでやるのが簡単にみえるのでやってみます
0782デフォルトの名無しさん
2012/01/28(土) 14:18:45.80http://msdn.microsoft.com/ja-jp/library/dd460648.aspx
0783デフォルトの名無しさん
2012/01/28(土) 15:40:24.26出た直後から違うスレッドを実行し始めたいのですが、
訳があって下のようにShowDialogの直前に書くことが出来ないでのすが
ダイアログが出るか監視していて出たら動き始めるイベントを作っておくことは出来るでしょうか?
System.Threading.Thread t = new System.Threading.Thread(hogeProces);
OpenFileDialog d = new OpenFileDialog();
t.Start();
d.ShowDialog(this);
0784デフォルトの名無しさん
2012/01/28(土) 15:47:05.87本末転倒だろう
>ShowDialogの直前に書くことが出来ない訳を解消した方がいい
それと、本当にプリミティブなThreadが必要か?
ThreadPoolやTaskで代用できないか?
0785デフォルトの名無しさん
2012/01/28(土) 16:03:02.38Applicationクラスにおあつらえむきの静的イベントがあるよ
0786デフォルトの名無しさん
2012/01/28(土) 19:23:36.77BitmapクラスにはLockbits、UnlockBitsというものがあって、
ポインタを取得してその中身を高速で書き換えられるみたいですが・・・
それをフォームにGraphics.DrawImageメソッドで描画しようとするとDrawImageが遅いせいで
あまり何度も画面に書き換えが出来ません。。。
フォーム自体もポインタを取得して高速に書き換えることは可能でしょうか。
0787デフォルトの名無しさん
2012/01/28(土) 19:27:49.910788デフォルトの名無しさん
2012/01/28(土) 19:30:01.960789デフォルトの名無しさん
2012/01/28(土) 19:40:21.82GDIで全部済ませればGDI+よりは格段に速いよ
0790デフォルトの名無しさん
2012/01/28(土) 20:27:17.68いや、DLLチェック出来ないか?
メソッドがスタックに積まれるタイミングでのロードだと思ってるんだけど
0791デフォルトの名無しさん
2012/01/28(土) 21:19:39.45すいません・・・
>>788
ゲームみたいに画面を1秒間に何回も書き換えるやり方を模索中でした
>>789
ありがとうございます。C#のをそのまま使うのよりよさそうですね、GDIのほうを調べてみます。
0792デフォルトの名無しさん
2012/01/28(土) 21:38:48.670793デフォルトの名無しさん
2012/01/28(土) 22:43:56.56この変数を100で割ってfloat型の0.25が欲しいのですが
int i = 25;
float f = i / 100;
これだと0になってしまいます
どのようにしたらよいでしょうか?
0794デフォルトの名無しさん
2012/01/28(土) 22:47:59.480795デフォルトの名無しさん
2012/01/28(土) 22:49:54.83float f = (float)i / 100.0f;
どっちかでいけるかな?
IDEは
100 をint
100.0 をdouble
100.0f をfloatとみなす
ちなみに100の上にマウスカーソルを乗せるとIDEがどんな型としてみてるか
ポップアップされるはず
0796デフォルトの名無しさん
2012/01/28(土) 22:52:08.710797デフォルトの名無しさん
2012/01/28(土) 22:52:12.14ありがとうございます
http://msdn.microsoft.com/ja-jp/library/b1e65aza(v=vs.80).aspxみてたんですが
floatって整数1桁以上は使えないと思っててintをfloatに型キャストしたら桁が削れるのかなと勝手に思ってました
0798デフォルトの名無しさん
2012/01/28(土) 23:14:25.42x = x - 1;
みたいにできる方法はないですか?
0799デフォルトの名無しさん
2012/01/28(土) 23:21:12.220800デフォルトの名無しさん
2012/01/28(土) 23:21:44.00short x;
x = (short)(x - 1);
0801デフォルトの名無しさん
2012/01/28(土) 23:22:11.500802デフォルトの名無しさん
2012/01/28(土) 23:24:55.57浮動小数点はdouble
でコード書いて必要になったらキャスト
0803デフォルトの名無しさん
2012/01/28(土) 23:26:57.43decimalで十分だわー
0804デフォルトの名無しさん
2012/01/28(土) 23:32:28.050805デフォルトの名無しさん
2012/01/28(土) 23:46:54.620806デフォルトの名無しさん
2012/01/29(日) 00:01:07.060807デフォルトの名無しさん
2012/01/29(日) 00:14:06.740808デフォルトの名無しさん
2012/01/29(日) 00:23:36.63(float)i / 100.0f みたいなのは意味ない。
特に、C# だと SSE 命令になったりするわけじゃなし。
0809デフォルトの名無しさん
2012/01/29(日) 00:31:27.590810デフォルトの名無しさん
2012/01/29(日) 00:40:53.71x--
0811デフォルトの名無しさん
2012/01/29(日) 00:56:48.150812デフォルトの名無しさん
2012/01/29(日) 01:52:12.26object-cだ!
0813デフォルトの名無しさん
2012/01/29(日) 02:35:52.200814デフォルトの名無しさん
2012/01/29(日) 10:22:28.63新しい言語ですか?
0815デフォルトの名無しさん
2012/01/29(日) 11:20:12.25Form_LoadにlistBox1.focus()って書きました
実行するとtextBox1にフォーカスがあります
listBox1にフォーカスを移す方法を教えてください
0816デフォルトの名無しさん
2012/01/29(日) 11:20:57.31focus()はFocus()の間違え
0817デフォルトの名無しさん
2012/01/29(日) 11:30:15.390818デフォルトの名無しさん
2012/01/29(日) 11:39:32.870819デフォルトの名無しさん
2012/01/29(日) 11:40:49.78Focus は、主にカスタム コントロールの作成者が使用するための下位メソッドです。 代わりに、アプリケーション プログラマは、子コントロールには Select メソッドまたは ActiveControl プロパティ、フォームには Activate メソッドを使用する必要があります。
0820デフォルトの名無しさん
2012/01/29(日) 11:40:51.51Form_Loadで
this.ActiveControl = this.listBox1;
0821デフォルトの名無しさん
2012/01/29(日) 12:37:52.16今やってる奴はくるくるぱーm9(^Д^)
0822デフォルトの名無しさん
2012/01/29(日) 12:55:10.35ActiveControlも覚えてみたいと思います
0823デフォルトの名無しさん
2012/01/29(日) 12:56:36.40そのままpictureBox1.ImageLocationの値を変更するだけでいいですか?
メモリに表示されてきた画像のゴミ?みたいのが残ったりしますか?
一度pictureBox1を削除して再度設置して表示したほうがいいのでしょうか?
0824デフォルトの名無しさん
2012/01/29(日) 13:18:15.39そういう用途ならメモリイメージに上書きしていって最終内容を
描画したほうが早いんじゃないの?
0825デフォルトの名無しさん
2012/01/29(日) 13:26:48.34それでいいよ
ゴミが残るかどうかは保証できないけどな
リファレンスに書いてないことを前提にしてはいけないのよ
0826デフォルトの名無しさん
2012/01/29(日) 13:48:57.71これって送信してから受信側にデータが届くまでのタイムラグが大きいでしょうか?
次のような条件で試しています。
・ひとつのプロセス内に、送信側、受信側のスレッドを作る
・受信側は、stream.DataAvailable と Available でデータの着信を確認してから stream.Read で受信
この受信確認は 30m秒くらいの間隔で実行している
・送受信は 127.0.0.1 でやっている
・他にもいくつか通信とは無関係のスレッドが走っている
・ログ出力を仕組んで、stream.Write による送信と受信の間隔を調べると 10 〜 20 秒くらい
(結構な頻度で)開いている
・ログを見る限り、ある時点でそこまで送信されたデータをまとめて stream に読み込んでるっぽい動作をしている
(データAを送信1秒後に送信したデータBもAを受信したタイミングで stream に乗っていた)
スレッドを使用してる関係で同期用の排他制御も組み入れてるので最初はそのせいかとも思ったのですが、
送信側はもとより、受信側の着信確認も意図した間隔で繰り返していて、受信が確認される直前までは
なにもデータが届いていないことを確認しています。
少しくらいのラグはともかく、普通に使っていてここまで間が開くとは思えません。
プログラムに問題があるとしたらどんな理由が考えられるでしょう?
いま書いてて思ったのだけど、stream.DataAvailable や Available にフラグが立っていなくても stream.Read では
データを読めるなんてことはないよなぁ。。。 だとしたら、ReadTimeout を仕込んで素直に受信待ちした方がいいのか。
0827デフォルトの名無しさん
2012/01/29(日) 13:55:21.700828デフォルトの名無しさん
2012/01/29(日) 14:00:31.420829デフォルトの名無しさん
2012/01/29(日) 14:01:43.050830デフォルトの名無しさん
2012/01/29(日) 14:02:57.290831デフォルトの名無しさん
2012/01/29(日) 14:04:08.810832デフォルトの名無しさん
2012/01/29(日) 14:04:53.48Console.Beep();
0833デフォルトの名無しさん
2012/01/29(日) 14:08:41.870834デフォルトの名無しさん
2012/01/29(日) 14:16:36.87Console.WriteLine("a:{0} b:{1} c:{2} d:{3}",a,b,c,d);
↓
Console.WriteLine("x:{-1},a:{0} b:{1} c:{2} d:{3}",x,a,b,c,d);
みたいなに手軽になんとかしたいんですが...
0835デフォルトの名無しさん
2012/01/29(日) 14:17:41.72ではどう?
0836デフォルトの名無しさん
2012/01/29(日) 14:18:12.980837デフォルトの名無しさん
2012/01/29(日) 14:20:27.44うひょーーーーー
ありがとうございます
0838デフォルトの名無しさん
2012/01/29(日) 14:47:29.84TCPの理解が足りていない(C#の話ではないのでスレチ)だけじゃないのか
1回のWrite≠1パケットとか、バッファリングとか基本的なことを理解していないように見える
とりあえず、TCPの基礎を理解してから出直すと良い
0839デフォルトの名無しさん
2012/01/29(日) 15:09:38.510840デフォルトの名無しさん
2012/01/29(日) 15:18:56.60その質問の仕方じゃYes/Noしかかえってこないぞ。
0841デフォルトの名無しさん
2012/01/29(日) 15:33:56.060842デフォルトの名無しさん
2012/01/29(日) 15:41:37.771回のWrite≠1パケットって、それがNagle のアルゴリズムのことならせいぜい200msまでの遅延しか発生しないし、
それ以外のバッファの話ならC#の問題なので、初心者スレには適した話題じゃないの
他人に聞くならもうちょっと情報が欲しいとは思うけど
0843デフォルトの名無しさん
2012/01/29(日) 15:49:16.12通信関係のとこで聞いた方が確実だとは思うけどなあ。
0844デフォルトの名無しさん
2012/01/29(日) 15:54:53.9500:00:00.ミリ秒みたいにして取得できました
これで3分経ったかどうかを判定させたいのですが、ifの判定式をsw.ElapsedMillisecondsを使わないで
sw.Elapsedと比較させて書く方法を伝授してください
if (){
// 3分経ったときの処理
}
0845デフォルトの名無しさん
2012/01/29(日) 16:03:37.07なんで?
0846826
2012/01/29(日) 16:09:11.96ネットワーク側の設定は不明ですが、送受信するデータはメッセージあたりで 20 〜 60000 バイトくらい、
TcpClient.SendBuffer は規定値のはずなので 8192 バイトだと思います。
TcpClient.NoDelay は true にしても変化が見られませんでした。
>>838 で言われてるように、バッファリングの影響などはもちろんあるはずだと思うのですが、
C# で TcpClient を使う場合にそれを乗り越える方法がないとは思えず、
遅延もローカルホストでやるにしてはかなり大きかったので質問してみました。
パケットを直接監視するってのは思慮から完全に抜けていたので、確認してみます。
0847デフォルトの名無しさん
2012/01/29(日) 16:09:31.77// 3分経ったときの処理
}
0848デフォルトの名無しさん
2012/01/29(日) 16:10:28.06そういう「パケット見る」じゃねえよ
パケットアナライザでNICに届いてるタイミングを見ろって言ってんの
0849デフォルトの名無しさん
2012/01/29(日) 16:13:03.52やっぱりこういうときはsw.Elapsed.Millisecondsで比べるのが主流なのでしょうか?
0850デフォルトの名無しさん
2012/01/29(日) 16:13:43.20言われたとおりにElapsedMillisecondsは使わなかったのに
0851デフォルトの名無しさん
2012/01/29(日) 16:19:42.47http://msdn.microsoft.com/ja-jp/library/ee372287.aspx
0852デフォルトの名無しさん
2012/01/29(日) 16:19:45.710853デフォルトの名無しさん
2012/01/29(日) 16:21:52.18ありがとうございます
リンク先見に行くと結構難しいのですね
0854デフォルトの名無しさん
2012/01/29(日) 16:27:26.17難しくはない、というかこんなの使えないとstring.Formatも使えないということになるぞ
書式を全部覚えきる必要はないけど、書式リファレンスを見ながら普通に書ける程度にはならなきゃダメだ
0855デフォルトの名無しさん
2012/01/29(日) 16:29:09.98monoをマイクロソフトも一緒になって開発してくれてたらいいんですが
0856デフォルトの名無しさん
2012/01/29(日) 16:30:27.640857デフォルトの名無しさん
2012/01/29(日) 16:31:07.26TimeSpanは違うんだっけ?
0858デフォルトの名無しさん
2012/01/29(日) 16:31:15.560859デフォルトの名無しさん
2012/01/29(日) 16:36:09.85Javaは・・・その・・・フォームを作って部品を配置するのがVC#より少なくて戸惑ってます
イベントハンドラの追加方法もよくわからないし・・・Javaは難しいなう
0860デフォルトの名無しさん
2012/01/29(日) 16:36:23.59mm --> "08"
new TimeSpan(6, 8, 5, 17, 685):
d\.hh\:mm\:ss --> 6.08:05:17
m\:ssかな
0861デフォルトの名無しさん
2012/01/29(日) 16:36:34.05なうは打ち間違えです
×なう
○です
0862デフォルトの名無しさん
2012/01/29(日) 16:39:01.790863デフォルトの名無しさん
2012/01/29(日) 16:39:11.870864デフォルトの名無しさん
2012/01/29(日) 16:39:40.34バイナリ互換にしろってこと?そりゃ無理
0865デフォルトの名無しさん
2012/01/29(日) 16:46:55.010866デフォルトの名無しさん
2012/01/29(日) 16:48:49.86System.Diagnostics.Process.Startメソッドを使って、複数のファイルを同時に1つのアプリケーションで開きたいのですがどのように記述すれば良いのでしょうか。
0867デフォルトの名無しさん
2012/01/29(日) 16:49:43.080868デフォルトの名無しさん
2012/01/29(日) 16:50:48.73もう少し具体的に書けよ
ブラウザじゃないかと踏んだけど
0869デフォルトの名無しさん
2012/01/29(日) 16:52:33.27誰かにメリットを提示できるかとなるとどうかな。
"monoをマイクロソフトも一緒になって開発"する理由は一つもないしw
0870デフォルトの名無しさん
2012/01/29(日) 16:55:03.510871デフォルトの名無しさん
2012/01/29(日) 16:55:41.73失礼しました
例えば「@"C:\aaa.mp3"」「@"C:\bbb.mp3"」「@"C:\ccc.mp3"」を同時にWMPなりのメディアプレイヤーに受け渡して、この3つのファイルがプレイリストに入った状態で起動させたいのです
0872デフォルトの名無しさん
2012/01/29(日) 16:58:43.86コマンドライン引数に指定して開けないのならProcess.Start以外の方法を取ることになるだろう
プレーヤーによるから可能かどうかすら判断つきかねるが
0873デフォルトの名無しさん
2012/01/29(日) 16:59:53.12そしたら俺はJava勉強しなくてすむ
0874デフォルトの名無しさん
2012/01/29(日) 17:01:10.670875デフォルトの名無しさん
2012/01/29(日) 17:07:59.56ぐ・・・Process.Start以外の方法ですか・・・そんなものもあるんですね
エクスプローラなら複数選択→エンターキーを押してやれば勝手にそういう挙動になるので単純なものかと思ってたのですが難しいみたいですね
ありがとうございました
0876デフォルトの名無しさん
2012/01/29(日) 17:12:18.28http://toro.2ch.net/test/read.cgi/tech/1325511769/373-376
うん。
簡単ではないと思う。
0877デフォルトの名無しさん
2012/01/29(日) 17:20:45.27あっ、わかりづらくてごめんなさい。この質問とは逆の状況なんです
自作のアプリケーション上でProcess.Startメソッドを使って、とあるディレクトリに存在する複数ファイルを同時に起動させたいのです
0878デフォルトの名無しさん
2012/01/29(日) 17:22:45.70起動させるというのはまた別のアプリケーションに受け渡すという意味です
0879デフォルトの名無しさん
2012/01/29(日) 17:23:50.80C:\aaa.mp3
C:\bbb.mp3
C:\ccc.mp3
って内容のテキストファイルを.m3uの拡張子で保存して、そのファイルをProcess.Startで実行すれば多分行けると思う
意味はwinampのプレイリストファイルを作って拡張子と関係づけられたプログラムを起動って手順です
m3uに何が関連づけられているかで起動プログラムは変わりますが
コレじゃ違うかな?
0880デフォルトの名無しさん
2012/01/29(日) 17:25:58.07Process.Startでプレーヤー起動させて、引数にmp3ファイルを渡せばいいんじゃない?
0881デフォルトの名無しさん
2012/01/29(日) 17:31:41.78いや逆とかじゃなくてね
>エクスプローラなら複数選択→エンターキーを押してやれば勝手にそういう挙動になる
というのが876を利用して実装されているわけで、
あなたのプログラムから同じようにエミュレートしてやれば同じように動作するべ。
って話。
0882デフォルトの名無しさん
2012/01/29(日) 17:32:16.18呼ぶ側な。
0883デフォルトの名無しさん
2012/01/29(日) 17:34:25.66結構時間かかりますね
0884デフォルトの名無しさん
2012/01/29(日) 17:34:54.00確かにその方法なら実行できそうですが、一連の動作をアプリケーション内だけで完結させたいので・・・
あっ、でもその動作もプログラミングしてしまえば可能ですよね!!ちょっと遠回りですがそのアプローチは想像つきませんでした。参考にします。ありがとうございます!
>>880
その方法なら引数にmp3ファイルを複数指定できるんですか!?やってみます。ありがとうございます。
0885デフォルトの名無しさん
2012/01/29(日) 17:36:54.42おおお・・・すみません理解に時間がかかりそうですが参考にします。ありがとうございます。
0886デフォルトの名無しさん
2012/01/29(日) 17:38:06.620887デフォルトの名無しさん
2012/01/29(日) 17:44:23.18すいません、力を貸してください
今試しにトイレに行って戻ってくるまで3分で返ってこれるかやってみようと思って、
プログラムを起動したんですがtimerで定期的にlabelの時間を書き換えてるのに右上のタイトルバーの_■×ボタンあるじゃないですか
そこをクリックしてボタン押しっぱなしにすると処理が止まってしまいます
これは何が原因なんでしょうか?
0888デフォルトの名無しさん
2012/01/29(日) 17:44:29.70それはwindows7上だったらwindows7の問題だよ
0889デフォルトの名無しさん
2012/01/29(日) 17:47:20.69おれも5秒でラーメンタイマー作ったYO
>>832
0890デフォルトの名無しさん
2012/01/29(日) 17:49:09.19Process.Start(@"C:\player.exe", @"C:\aaa.mp3 C:\bbb.mp3 C:\ccc.mp3")
で動きました!!お騒がせしてすみませんでした。皆様本当にありがとうございました。
0891デフォルトの名無しさん
2012/01/29(日) 17:52:36.52自分も昔はJavaのマルチプラットフォームにあこがれたが、結局自分もユーザーもWinばっかりじゃないかと・・・
どうしてもって言うなら、C++でマルチプラットフォームなライブラリ使っとけ
Javaはポインタや参照使えない分、パフォーマンス的にどうしてもC#より不利な場面が出てくる
C言語 vs C#言語 vs C#言語ノーマル vs PHP
http://blog.livedoor.jp/campanella_77/archives/17983896.html
C# 最高速説
http://blog.livedoor.jp/campanella_77/archives/17986824.html
0892デフォルトの名無しさん
2012/01/29(日) 18:15:57.560893デフォルトの名無しさん
2012/01/29(日) 18:18:06.92独学でググって頑張る || 本買って勉強
0894デフォルトの名無しさん
2012/01/29(日) 18:23:12.240895826
2012/01/29(日) 20:28:12.88それは承知していたつもりです。
ので、あのあと準備をして WireShark で見てみましたが、ログで確認した状態と大差ないようです。
つまりバッファにある程度蓄えてしまって実際には送信していないということなのだと思います。
>>888
だとすれば症状の説明が付くのかも知れません。
よろしければソースを教えていただけないでしょうか。自分でも探してみたのですが、これと思う記事を見つけられませんでした。
これだとするとスレチですが。すみません。
0896デフォルトの名無しさん
2012/01/29(日) 20:37:51.170897デフォルトの名無しさん
2012/01/29(日) 20:45:38.16C#のコードで追加するThumbコントロールに画像を設定するにはどうしたら良いでしょうか
0898897
2012/01/29(日) 20:46:39.090899デフォルトの名無しさん
2012/01/29(日) 20:54:36.750900897
2012/01/29(日) 21:02:47.04<Thumb.Template>
<ControlTemplate>
<Image Source="C:\Pic\001.jpg"></Image>
</ControlTemplate>
</Thumb.Template>
</Thumb>
xaml側ではこんな感じで実装できたんですけれど、これのC#側での書き方がわからなくて・・・
初心者で申し訳ないのですが教えて頂けたら幸いです
0901デフォルトの名無しさん
2012/01/29(日) 21:20:16.68WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part12
http://toro.2ch.net/test/read.cgi/tech/1324366825/
0902デフォルトの名無しさん
2012/01/29(日) 21:20:58.150904デフォルトの名無しさん
2012/01/29(日) 21:36:38.61b.BeginInit();
b.UriSource = new Uri(@"てきとうながぞう.jpg");
b.EndInit();
var f = new FrameworkElementFactory(typeof(Image));
f.SetValue(Image.SourceProperty, b);
var t = new ControlTemplate();
t.VisualTree = f;
th.Template = t;
スーパー天才の俺が教えてやるけどこうですよ
0905デフォルトの名無しさん
2012/01/29(日) 21:41:59.540906デフォルトの名無しさん
2012/01/29(日) 21:49:46.060907デフォルトの名無しさん
2012/01/29(日) 21:50:05.280908897
2012/01/29(日) 21:51:18.43あ、ありがとうございます!実装できました!
まさかスーパー天才な方が現れて下さるとは思ってもみませんでした!本当にありがとうございます!
0909デフォルトの名無しさん
2012/01/29(日) 22:01:01.15そんな面倒になるのか
やっぱバインディングでやったほうがいいな・・・
0911デフォルトの名無しさん
2012/01/29(日) 22:08:37.250912デフォルトの名無しさん
2012/01/29(日) 22:09:55.04でも今は消えつつあるじゃないですか
C#は消えたりしますか?
0913デフォルトの名無しさん
2012/01/29(日) 22:14:11.95どこがだよ
ブウウウウウビィイイイイイイイイイイ6666666666666666666って唸ってるぞ
まだ
0914897
2012/01/29(日) 22:14:50.06ありがとうございました
0915デフォルトの名無しさん
2012/01/29(日) 22:17:51.97最新技術に取り残されても、古臭い糞言語うぜえとか言われながら保守運用で残り続けるよ
0916デフォルトの名無しさん
2012/01/29(日) 22:29:14.45その10年前のVBの問題を解消したのが今のC#だよ。
C#が消えるときは、次のC#的なものが出た時だ。
0917デフォルトの名無しさん
2012/01/29(日) 22:30:41.2510.0はたぶん行かないよな
0918デフォルトの名無しさん
2012/01/29(日) 22:36:27.20汎用言語としての C# の進化はその辺りでいったん遅くなると思う。
0919デフォルトの名無しさん
2012/01/29(日) 22:39:47.84winRTは有料版のみ開発可。とかかね・・・
もしくは、appleのAppStoreみたいにストアからしか入れられなくして、開発者からも年会費取る方向にシフトするとか
VSがフル機能でも格安で手に入るんなら、その方向でも良いかな
0920デフォルトの名無しさん
2012/01/29(日) 22:44:12.41言語がどうとか、個人レベルのものは全部無料になってるからねぇ。
個人のコーディング → 開発チーム → 関係各社全員のコラボ で金取ってる。
MS 全体で見ても、年々、OS のパッケージ販売から、
Azure とか Office 365 みたいな月額支払の方にシフトしてて、
開発ツールがらみも、TFS on Azure とかにシフトすると思う。
0921デフォルトの名無しさん
2012/01/29(日) 22:45:53.31C#というか、.NET Frameworkが旧VBほど浸透したとはちょっと思えんけどね。
なぜかフリー作者にも敬遠されてるし。
0922デフォルトの名無しさん
2012/01/29(日) 22:48:37.330923デフォルトの名無しさん
2012/01/29(日) 22:49:12.71それは、旧VBと現.NETの差じゃなくて、
Win95時代のMSの躍進と、XPから移行してもらえなくて悩む今のMSの勢いの差だな。
伸びてる時期は、大部分のユーザーが新人だからしがらみがないけど、
安定期に入っちゃうと、一番の敵は過去の自分になっちゃう。
0924デフォルトの名無しさん
2012/01/29(日) 22:52:17.120925デフォルトの名無しさん
2012/01/29(日) 22:55:06.98VB6以前で作ってた人は、VB6で作り続けてるか、.net版のVBに移行してると思うよ
敬遠してるのは、DelphiとかVC++で開発してた人たち
exeファイル一つで配布したい人は旧VBも敬遠してた
0926デフォルトの名無しさん
2012/01/29(日) 22:55:57.29あれだけフリーのリポジトリサイトが生まれたことを考えたらね
0927デフォルトの名無しさん
2012/01/29(日) 22:56:53.380928デフォルトの名無しさん
2012/01/29(日) 22:58:52.740929デフォルトの名無しさん
2012/01/29(日) 23:02:26.83変なユーザーに絡まれなくなっていい。
0930デフォルトの名無しさん
2012/01/29(日) 23:16:25.99MSDN のどのページを読んだらこれに行き着けるんでしょうか?
0931デフォルトの名無しさん
2012/01/29(日) 23:17:46.75試しに書いたら動いたから得意げに教えただけです
0932デフォルトの名無しさん
2012/01/29(日) 23:20:47.31やっぱり、スーパー天才な方は違いますねっ!
…WPF を、どうしてもコーディングで書かなくてはならないとき、
やり方が全然わからなくていつも困ります…
0933デフォルトの名無しさん
2012/01/29(日) 23:22:58.380934デフォルトの名無しさん
2012/01/29(日) 23:26:14.53名前変わると別物だと思う人が多くて困るけど。
あと、他のGUIフレームワークも、最近データバインディングとMVVM的な仕組みを持ち始めてるし、その先駆者ではあるし。
0935デフォルトの名無しさん
2012/01/29(日) 23:31:31.95昔はVBとVC++の差が広すぎたからね・・・
難易度も、出来ることも(だからこそ、Delphiの入り込む余地があった)
今のVBやC#は難易度も出来ることも旧VBとVC++を埋める中間に位置する
(から、VBは難しくなったと言われる)
0936デフォルトの名無しさん
2012/01/29(日) 23:36:41.64両方の範囲をカバーしようとしたのが C#
(結局、C++ というか、ネイティブは今でも必要だけど)。
中間じゃなくて、範囲が広い。
0937デフォルトの名無しさん
2012/01/30(月) 00:15:19.880938デフォルトの名無しさん
2012/01/30(月) 00:23:06.760939デフォルトの名無しさん
2012/01/30(月) 00:33:53.15Win限定なら、マジいらない
>>938
消えろとまでは言わないが、マジでそれらのC#版を出してほしい
0940デフォルトの名無しさん
2012/01/30(月) 00:36:15.430941デフォルトの名無しさん
2012/01/30(月) 00:50:35.33マジか
時代がいつの間にか俺に追いついてたんだな
0942デフォルトの名無しさん
2012/01/30(月) 01:40:48.66Visual Studio に標準で Office 開発テンプレート入ってるし。
でも、Office とかの中で C# スクリプトを使いたいって要求は多いけども。
それも Roslyn 待ち。
0943デフォルトの名無しさん
2012/01/30(月) 09:12:50.330944デフォルトの名無しさん
2012/01/30(月) 09:29:31.59どんな風なプラグインが人気なのか判りますか?
0945デフォルトの名無しさん
2012/01/30(月) 10:03:22.240946デフォルトの名無しさん
2012/01/30(月) 10:42:45.520947デフォルトの名無しさん
2012/01/30(月) 11:25:35.550948デフォルトの名無しさん
2012/01/30(月) 15:58:20.11教えてください。
0949デフォルトの名無しさん
2012/01/30(月) 16:05:07.470950デフォルトの名無しさん
2012/01/30(月) 16:21:40.85ビルドすると以下のエラーがでます。
エラー CS0220: この操作はチェック モードでコンパイルしたときにオーバーフローします。
0951デフォルトの名無しさん
2012/01/30(月) 16:25:13.960952デフォルトの名無しさん
2012/01/30(月) 16:48:58.130953デフォルトの名無しさん
2012/01/30(月) 16:49:15.880954デフォルトの名無しさん
2012/01/30(月) 16:49:58.56int同士の積はint
なので、途中でInt64==longを挟めば良い
long (C# プログラミングリファレンス)
とかを読んでみれば
0955デフォルトの名無しさん
2012/01/30(月) 16:59:12.68キャストしたらエラーがでなくなります。
(long)1024 * (long)1024 * (long)1024 * (long)1024;
0956デフォルトの名無しさん
2012/01/30(月) 17:30:17.00(long)1024じゃなくて1024Lって書けるよ
0957デフォルトの名無しさん
2012/01/30(月) 17:32:42.75ハンドルされていない例外: System.IO.IOException: 別のプロセスで使用されているため、プロセスはファイル 'C:\Users\**(ファイル名)**.txt' にアクセスできません。
となりプログラムが強制終了します。
わからないのが2回や3回のinputで止まるときもあれば、10回以上のinputをしても止まらない時があります。
StreamReaderを使用しています↓。原因はなんなのでしょうか?
StreamReader sr = new StreamReader("C:\\Users\\**(ファイル名)**.txt", Encoding.GetEncoding("Shift_JIS"));
string text = sr.ReadToEnd();
sr.Close();
0958デフォルトの名無しさん
2012/01/30(月) 18:07:26.27SDL.NETがいいかな〜と思いましたがライブラリは何を使うのが定番でしょうか?
0959デフォルトの名無しさん
2012/01/30(月) 18:13:10.35そのアクセスしようとしてるテキストファイルを他に触るプログラムはないの?
あと
StreamReader sr = new StreamReader("C:\\Users\\**(ファイル名)**.txt", Encoding.GetEncoding("Shift_JIS"));
string text = sr.ReadToEnd();
sr.Close();
このコードとwhileの関係は?
0960デフォルトの名無しさん
2012/01/30(月) 18:14:09.67ゲーム作るならXNAとかでやった方がいいんじゃないかな?
winformとXNAでちょっとした動きのある物作ったことあるけど
実行効率はXNAには勝てないと思う
0961デフォルトの名無しさん
2012/01/30(月) 18:33:55.86XNAは避けて通れないのですね
インストールしてみます
0962デフォルトの名無しさん
2012/01/30(月) 18:41:36.010963デフォルトの名無しさん
2012/01/30(月) 20:26:03.880964デフォルトの名無しさん
2012/01/30(月) 20:58:25.99そのコードを関数input内に置いて、Main関数からwhileでinputを複数回呼び出しています。
アクセスしようとしているテキストファイルは実行時、他に誰もアクセスしていない状態です。
input内でexeファイルを実行して、アクセスしようとしているテキストファイルに一度書き出していますが、
そのexeファイルに問題は無いはずです。(私が作ったものではないのですが、不具合などの報告はありません。)
それと言い忘れていたのですが、
>わからないのが2回や3回のinputで止まるときもあれば、10回以上のinputをしても止まらない時があります。
についてなのですが、同じデータを用いても止まるタイミングがバラバラということです。
0965デフォルトの名無しさん
2012/01/30(月) 21:01:18.770966デフォルトの名無しさん
2012/01/30(月) 21:08:14.76おおざっぱな流れがわかるコードだせよw
そういわれてるんだよ
>>965
SlimDxはしらんけどXNAの場合はゲームループの基本はできあがってるんだよ
初期化、ループ中の入力、判定、移動などの所定のタイミングで呼ばれるのでそこにコードを書くだけで
結構楽だよ
0967デフォルトの名無しさん
2012/01/30(月) 21:16:02.71exeがまだ動いてるのに読みにいってるとかじゃないの
ためしにexe呼び出してるところコメントアウトして試してみたら
0968デフォルトの名無しさん
2012/01/30(月) 21:21:52.22このランタイムのみってのはどこにおいてあるのしょうか?
探してもフレームワークのダウンロードしか見つかりません
0969デフォルトの名無しさん
2012/01/30(月) 21:24:07.58SlimDXのサンプルコードにはXNAを参考にしたものもある。
最終的にどれ使うかはあとで決めたらいいと思うが、XNAは一通り触っておくといい
0970デフォルトの名無しさん
2012/01/30(月) 21:25:47.240971デフォルトの名無しさん
2012/01/30(月) 21:26:33.77利用者向けは「再配布」をつけるとでてくるよ
http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=53867a2a-e249-4560-8011-98eb3e799ef2
0972デフォルトの名無しさん
2012/01/30(月) 21:27:56.130973デフォルトの名無しさん
2012/01/30(月) 21:35:06.13AppHubにサンプルがある
0974デフォルトの名無しさん
2012/01/30(月) 22:16:43.13すみません
これはxna frameworkでググると
Microsoft XNA Framework Redistributable 3.1がトップに出てくるのですが
http://www.microsoft.com/download/en/details.aspx?id=20914のが4.0なので新しくてこっちをダウンロードしました
OSのアップデートをして再起動してないのでまだインストールはしてません
これらは開発用フレームワークじゃないのでしょうか?
ユーザーさんにはこれらをインストールさせればいいってことですか?
0975デフォルトの名無しさん
2012/01/30(月) 22:20:42.41開発用が欲しいならこっち
Microsoft XNA Game Studio4.0
http://www.microsoft.com/download/en/details.aspx?id=237147
Microsoft XNA Game Studio 4.0 Language Pack (日本語)
http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=b3929d3b-3fe1-49dd-9cb1-c701b88d049d
0976デフォルトの名無しさん
2012/01/30(月) 22:22:36.88http://sorceryforce.com/xna/tips.html
0977デフォルトの名無しさん
2012/01/30(月) 22:38:46.830978デフォルトの名無しさん
2012/01/30(月) 22:39:58.850979デフォルトの名無しさん
2012/01/30(月) 22:58:32.21設定を管理するクラスを作って、それをXmlSerializerでXMLに書き出しているんですが、
設定の数だけ
public string name { get; set; }
みたいなのを羅列しなきゃならないですよね?
0980デフォルトの名無しさん
2012/01/30(月) 23:01:15.64方法があるなら答えてやる
0981デフォルトの名無しさん
2012/01/30(月) 23:03:52.89{
コード
}
static void Main()
{
コード
}
どっちも同じ動きするんだけど、Main()の中にstrgin[] argsを記述意味を教えてください。
0982デフォルトの名無しさん
2012/01/30(月) 23:04:24.35勘違いしてました
ランタイムの画開発用だと思ってました
0983デフォルトの名無しさん
2012/01/30(月) 23:05:24.61コマンドライン引数
0984デフォルトの名無しさん
2012/01/30(月) 23:06:17.37引数を取れるかどうかなだけだよ
コンソールアプリを実行する際にexeの後ろのコマンドオプションつけるケースとかあるでしょ
0985デフォルトの名無しさん
2012/01/30(月) 23:07:40.55具体的に言うと次スレを立てて欲しい
0986979
2012/01/30(月) 23:10:59.83具体的と言われても難しいですね・・・
まず全ての設定の一つのXMLファイルにまとめるため、シングルトンクラスを作って、
それをXmlSerializerで書き込みたいです。
例えばリストビューのカラム幅、入力されたテキスト、チェックボタン、ウィンドウの位置
などです。
それらをすべて設定クラスで管理したいのですが、
プロパティの数、クラスに格納する手順、XMLを読み込んでから設定を反映、
などと考えると量が多いため、
なにかもっと簡単にできる方法はないのかな、と思った次第です。
0987デフォルトの名無しさん
2012/01/30(月) 23:17:57.10さんくす。
0988デフォルトの名無しさん
2012/01/31(火) 00:20:51.80"A"と'A'は何が違うの???
0989デフォルトの名無しさん
2012/01/31(火) 00:25:18.440990デフォルトの名無しさん
2012/01/31(火) 00:36:57.94文字と文字列の違い
文字列は文字の集まりで長さがある
0991デフォルトの名無しさん
2012/01/31(火) 00:38:22.29http://www.atmarkit.co.jp/fdotnet/dotnettips/562appsettings2/appsettings2.html
0992デフォルトの名無しさん
2012/01/31(火) 00:44:36.63http://toro.2ch.net/test/read.cgi/tech/1327938237/
0994デフォルトの名無しさん
2012/01/31(火) 08:13:57.40素晴らしい。一乙
0995デフォルトの名無しさん
2012/01/31(火) 09:18:35.640996デフォルトの名無しさん
2012/01/31(火) 09:24:17.410997デフォルトの名無しさん
2012/01/31(火) 09:27:34.440998デフォルトの名無しさん
2012/01/31(火) 09:34:51.130999デフォルトの名無しさん
2012/01/31(火) 09:35:12.321000デフォルトの名無しさん
2012/01/31(火) 09:35:29.73ふらっとC#,C♯,C#(初心者用) Part85
http://toro.2ch.net/test/read.cgi/tech/1327938237/
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。