1 名前:デフォルトの名無しさん [2008/08/20(水) 17:15:27 ] このスレッドは 「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 前スレ ふらっとC#,C♯,C#(初心者用) Part29 pc11.2ch.net/test/read.cgi/tech/1216734995/
432 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 15:39:31 ] DBNullでいいじゃん?とは思うけど stringのプロパティ二つ持ったクラス用意 DisplayMember/ValueMemberにそれぞれのプロパティ名設定 一つずつ用意したクラスに詰替え Items.AddよりDataSourceに配列として設定した方がよくね?
433 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 15:45:45 ] >>432 >Items.AddよりDataSourceに配列として設定した方がよくね? 確かに・・・ まず提案していただいた方法試してみます! ありがとうございました。
434 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 17:16:10 ] DBの項目がIntならそのまま更新できないから「全て」が選ばれたときにどうやって更新するのかは気になるところ
435 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 17:26:13 ] ArgumentNullExceptionをスローするときに 引数名を文字列で直接指定するのって格好悪い気がするんだけどいい方法ある?
436 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 17:27:24 ] 気のせいだ
437 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 17:39:51 ] >>435 ない。 リファクタリングと相性が悪いので、どうにかしようという話が出てたが まだ実現していない。
438 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 18:05:24 ] internal static Exception ArgumentNull(Delegate method, int paramIndex) { ParameterInfo[] parameters = method.Method.GetParameters(); return new ArgumentNullException(parameters[paramIndex].Name); } void Hoge(object arg) { throw ArgumentNull(new Action<object>(Hoge), 0); } こういうのはどうだろう
439 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 18:11:12 ] 今度は引数の数や順番の変更に弱くなるぞ
440 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 22:58:27 ] 質問です。 WinXPにてadmin権限でログイン後 作成したアプリをインストーラからインストール。 アプリは、カレントディレクトリに対してフォルダを作成したり ファイルをダウンロードしたりします。 admin権限でログインしているときはうまく動作するのですが、 フォルダに、ユーザからのアクセス件が無いので動作しません。 以下のコードでアクセス権を付加しようとしていますがうまくいきません。 どこが間違っているでしょうか? System.Security.AccessControl.DirectorySecurity dSecurity = Directory.GetAccessControl(Application.StartupPath); dSecurity.AddAccessRule( new System.Security.AccessControl.FileSystemAccessRule( System.Environment.UserName, System.Security.AccessControl.FileSystemRights.FullControl, System.Security.AccessControl.AccessControlType.Allow )); Directory.SetAccessControl(Application.StartupPath, dSecurity);
441 名前:440 mailto:sage [2008/09/10(水) 23:00:07 ] 質問訂正です。 WinXPにてadmin権限でログイン後 作成したアプリをインストーラからインストール。 アプリは、カレントディレクトリに対してフォルダを作成したり ファイルをダウンロードしたりします。 admin権限でログインしているときはうまく動作するのですが、 権限無しのユーザでログインすると フォルダにユーザからのアクセス件が無いので動作しません。 以下のコードでアクセス権を付加しようとしていますがうまくいきません。 どこが間違っているでしょうか? System.Security.AccessControl.DirectorySecurity dSecurity = Directory.GetAccessControl(Application.StartupPath); dSecurity.AddAccessRule( new System.Security.AccessControl.FileSystemAccessRule( System.Environment.UserName, System.Security.AccessControl.FileSystemRights.FullControl, System.Security.AccessControl.AccessControlType.Allow )); Directory.SetAccessControl(Application.StartupPath, dSecurity);
442 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 23:25:25 ] >>441 フォルダのアクセス権がないユーザーが、そのフォルダのアクセス権を変更することはできない。 当たり前のことですな。
443 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 23:32:08 ] お前馬鹿かよ。 何やろうとしてるか冷静に考えてみろ。
444 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 00:08:28 ] C#もVBと同じ Optional 引数は使えますか?
445 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 00:27:28 ] いいえ
446 名前:デフォルトの名無しさん [2008/09/11(木) 00:43:03 ] adminとuserがひとつのアプリを共有し ファイルディレクトリ操作を行う場合 どういう実装をすればいいのでしょうか?
447 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 01:05:23 ] userに権利が無い操作を、できなくすればいいのでない?
448 名前:441,446 mailto:sage [2008/09/11(木) 01:51:14 ] >447 自分がadminかそうじゃないかを知る方法ってあるのですか? 元々その辺から調べてたのですが全くわかりませんでした。
449 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 06:02:46 ] >>448 WindowsIdentityとWindowsPrincipalの組み合わせで。 www.atmarkit.co.jp/fdotnet/dotnettips/347rolebasesec2/rolebasesec2.html
450 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 11:40:40 ] C# 2.0のアプリケーション構成ファイルで接続文字列を設定し DbProviderFactoriesクラスからGetFactoryメソッドを使用した上でDBへ接続を行いたいと思っています。 構成ファイルの方は設定しており <add name="プロジェクト名.Properties.Settings.ConnectionString" connectionString="Provider=HOGE-;Data Source=hogehoge" providerName="System.Data.?????" /> このような記述がされております。 このときPG側から接続文字列の設定を読み取ることは標準でできるのですが ProviderName の部分(System.Data.?????)を取得するにはどのようにすればいいのでしょうか? 設定ファイルの設定はC#の「プロジェクトの設定のエディタを使用しております。 よろしくお願いいたします。
451 名前:441 mailto:sage [2008/09/11(木) 14:55:32 ] >449 ありがとうございました。ようやく前進できました。 もうひとつ質問ですが、 System.Net.WebClient でファイルのDLを行う場合、 拡張子exeのファイルは環境によっては弾かれるということはありえますか? 拡張子exeのファイルは拡張子を変えてDLしたあとリネームした方がいいのでしょうか? それとも、zipファイルとしてDLしたあと展開するのがベターでしょうか?
452 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 22:11:46 ] C#でWindowsの音量(マスターとか、WAVEとか、ラインインとか)を 直接操作できるような方法ってあるんでしょうか?
453 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 22:16:22 ] Win32API
454 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 22:17:24 ] C# api MIXIERCAPS あたりで検索して味噌
455 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 22:20:22 ] err s/MIXIERCAPS/MIXERCAPS/
456 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 23:07:10 ] >>450 これ以上ないくらい普通に取れるが、どこで引っかかってるの?
457 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 09:01:18 ] >>456 おはようございます。 Properties.Settings.Default.ConnectionString で接続文字列は取得できるのですが Properties.Settings.Default.ProviderName というプロパティが存在せず取得できないということです。
458 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 11:42:58 ] コンテキストメニュー「1」又は「2」からフォーム「A」を 開くときに、フォーム「A」はどちらのコンテキストメニューから 開かれたのか知るためにはどうすればいいのでしょうか。
459 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 11:51:46 ] DataGridViewの表示がやたらと遅いんですが、 改善策はあるんでしょうか? フォームにDataGridViewを置いて起動→ 10行くらい適当に入力→ 最小化、最大化で、上から順にズラズラと再描画されています。 PCは最近のものなのでスペックは悪くありません。
460 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 13:16:45 ] >>458 フォームAにそういうプロパティを実装する。 あとは呼び出す前に設定するだけ。
461 名前:デフォルトの名無しさん [2008/09/12(金) 15:30:53 ] Form1にシリアル通信をしてオープンしている状態で、別のフォーム(Form2)を呼び出して、 そのまま通信しようとするとエラーが起きてしまいます。 どうすればよいでしょうか?
462 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 15:32:27 ] エラー(笑)
463 名前:デフォルトの名無しさん mailto:sage(笑) [2008/09/12(金) 15:36:04 ] エラーというかポートが閉じられているとでます。
464 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 16:02:51 ] 何がでるって?
465 名前:デフォルトの名無しさん mailto:sage(笑) [2008/09/12(金) 16:08:04 ] 'System.InvalidOperationException' のハンドルされていない例外が System.dll で発生しました。 追加情報: ポートは閉じられています。 です
466 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 16:10:00 ] >そのまま通信しようとすると って具体的に何したの
467 名前:デフォルトの名無しさん mailto:sage(笑) [2008/09/12(金) 16:12:08 ] データを送ろうとしてます。 Form1からは正常に動きます
468 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 16:29:07 ] ズコー
469 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 16:35:43 ] いいよいいよー
470 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 17:02:41 ] Form2はForm1からシリアルのインスタンスもらってそれを操作しようとしたの? スレッドは単一?
471 名前:デフォルトの名無しさん mailto:sage(笑) [2008/09/12(金) 17:08:46 ] はい
472 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 18:41:45 ] メル欄ふざけてるの?
473 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 18:55:07 ] はい
474 名前:デフォルトの名無しさん mailto:sage(笑) [2008/09/12(金) 19:27:06 ] >>473 違う >>472 違う 非アクティブ状態でも、シリアルポートはOPENにしたいんだーーーーーーーーーーーーーーーーーー
475 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 19:29:54 ] メル欄真面目なの?
476 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 19:47:56 ] まじめです。 マジレス頼みます
477 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 20:18:23 ] VBのMSCommじゃないんだから(いやMSComm使ったってそうだが)Formの状態と SerialPortクラスの例外は普通は何の関係もないはずだが。 っていうかまずハンズオンか何かにあったサンプルコードを理解するところから はじめたらどう?
478 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 01:11:49 ] シリアルポートって1つしかOPEN出来ないとかそういう話じゃなくて?
479 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 14:24:46 ] は?
480 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 17:28:02 ] め?
481 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 17:32:19 ] は?
482 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 17:47:15 ] め?
483 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 17:48:11 ] 学?
484 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 17:49:12 ] 園?
485 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 17:58:03 ] Windows フォームアプリで、System.Threading.Timer で一定時間ごとにある操作をしてフォームに文字列を表示しています。(30ms 毎に Timer が起動) 文字列はちゃんと表示されているのですが、フォームの他のコントロールが描画されず真っ白のままです。 System.Windows.Forms だと正しく動作するのですが、どうしたらよいのでしょうか?
486 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 18:07:52 ] System.Windows.Forms を使う
487 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 18:10:02 ] >>485 できた。 this.Update(); Application.DoEvents(); を追加した。
488 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 18:29:34 ] DoEvents()が出てきたら何か考え方がおかしいと疑ったほうがよい
489 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 20:28:52 ] >>487 残念だが多分正しくは出来てない気がする。 デバッグ実行したら例外になったりしないか? まあ見てないから分からんけども。
490 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 03:52:20 ] ずっと動かしてたら落ちるだろうなあ
491 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 09:00:39 ] >>488-490 確かに表示は更新することは出来ましたが、 フォームを終了させると例外が発生しています。 タイマの delegate でフォームを更新させるために呼んでいる Invoke メソッドで InvalidOperationException が発生しました。 30ms 毎に Timer を起動していますが、行っている処理の時間がかかりすぎて、次の30ms までに終了せず、タイマが ThreadPool にたまりすぎなのだろか?
492 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 11:10:13 ] どんな処理してるわけ?
493 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 11:56:13 ] 毎回起動しなおしてんの?
494 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 12:08:16 ] ま、Invokeはハンドルが破棄された後に呼び出すと例外になるので、 とりあえずInvokeする前にハンドルがあるか確認するか、 確実を期するなら自前でフラグ管理と同期を行うか、 まあ少なくともどっちかは必要。 その上で他にも問題があるかはまた別の話。
495 名前:デフォルトの名無しさん [2008/09/14(日) 12:20:56 ] 30msごとにタイマー起動してフォームを更新っていったいどんな処理しているの? その設計自体を根本から見直す方が先決だと思うんだけれど。
496 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 22:27:11 ] 色んな要求あるんだから、お前の小さい視点でレスするな
497 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 22:45:46 ] 点に大きいも小さいもないよ。
498 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 22:48:30 ] ん?悔しかったの?w
499 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 04:08:33 ] デリゲートは標準でマルチキャストですが シングルキャストデリゲートってどう作るんですかね?
500 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 09:56:21 ] C#ってよりCLRじゃ無理
501 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 10:04:09 ] あれってデリゲートが今みたいに積極的にイベント以外に使われるようになることを 想定してなかったんだろうな 今作り直すならイベントハンドラは別扱いとかコンテナは別にするとかになりそう
502 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 19:31:30 ] >>501 なぜデフォでマルチキャストなのかって疑問は確かにあるけどそれはない。 だって関数ポインタの自然な発展形である以上、 その用途をイベントだけに見積もるなんてありえん。
503 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 19:34:08 ] また俺のわからない話をする
504 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 19:43:20 ] 最初はシングルキャストと厳密に分けてたけどうざいだけでメリットがあんまなかったからやめたのさ。
505 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 19:59:17 ] 関数ポインタを引数にとるアンマネージ関数にマルチキャストデリゲートを渡しても ちゃんと全部呼んでくれる。 神経質に使い分ける必要もないのかな。
506 名前:499 mailto:sage [2008/09/16(火) 20:13:47 ] どうも class Program { //計算を委託できる public Func<double, double, double> Calc; private double a, b; public Program(double a, double b){ this.a = a; this.b = b; } private double DefaultCalc(double a, double b){ return a + b; } public void Action(){ double result; if (Calc != null) result = Calc(a, b); else result = DefaultCalc(a, b); Console.WriteLine("計算結果:{0}", result); } } class Test { static void Main(string[] args){ Program program = new Program(12, 42); program.Calc += ((a, b) => a * b); program.Calc += ((a, b) => a / b); program.Action(); } }
507 名前:499 mailto:sage [2008/09/16(火) 20:14:33 ] ↑みたいなプログラムだとマルチキャストの意味が全くないし 間違えて+=で委託先を追加したら気づかずに余計な処理をさせちゃうこともあり得るので どうせならシングルキャストを作れればいいのにと思いましたが private Func<double, double, double> calc; public Func<double, double, double> Calc { get { this.calc = value; } } みたいなプロパティを追加すればいいだけだと気づきました、すみません
508 名前:499 mailto:sage [2008/09/16(火) 20:15:19 ] setだった
509 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 20:17:06 ] setオンリーのプロパティはガイドライン違反 SetCalcメソッドにしようね
510 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 20:20:36 ] >>509 そんなガイドラインあったっけ? VBなんて普通にWriteOnlyなんていう組み込みのキーワードまであるんだけど。
511 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 20:23:09 ] >>510 msdn.microsoft.com/ja-jp/library/ms229006 (VS.80).aspx
512 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 20:47:43 ] <>で囲まれてる文字列を最小一致で全部取り出すにはどうしたらいいですか? <html><body></body></html>なら、 html body /body /htmlを取り出してリストに突っ込むようなことです 最小一致なのでhtml><body></body></htmlが取り出されると困ります よろしくおねがいします
513 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 20:57:44 ] >>509 >>511 そうでしたか、 わざわざどうもです >>512 char[] separator = {'<', '>'}; string str = "<html><body></body></html>"; str.Split(separator, StringSplitOptions.RemoveEmptyEntries); っていうのはどうでしょう
514 名前:512 mailto:sage [2008/09/16(火) 21:17:12 ] >>513 うまくいきました 本当にありがとうございます。
515 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 22:15:33 ] >>512 ちなみに、.NET の正規表現的には \<.*?\> で行ける。 *? で最小一致。
516 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 22:55:41 ] >>515 ついでに先読み、戻り読みも入れて (?<=<).*?(?=>) で >>513 >>514 Split使うなら、ゴミが入らないようにしないと str.Split('<').Skip(1).Select(s => s.Split('>')[0]) 因みに、以下の場合はおそらく構文エラーなので適当に - 1回目のSplitで空文字列がある(ただし、#0は除く) - 2回目のSplitで要素数が2でないか、#0が空
517 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 23:05:38 ] 横やりだけどSkip()って初めて見るけど新しく追加されたメソッドか?
518 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 23:06:47 ] >>517 LINQ
519 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 01:06:42 ] LINQまったく使ってないなぁ 最初は興味あったけど構文が異質すぎて使えない
520 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 01:14:33 ] クエリ式を使わないLinqもありだよ。C#のクエリ式ではSkipはサポートされていない。 VBではサポートされている。
521 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 01:28:02 ] ゴミって空文字かな? StringSplitOptions.RemoveEmptyEntries でおkのような気がす そういう感じで行くなら str.Split(new char[]{ '<' , '>' }).Where(s => s != "") の方が俺好みだば クエリ構文はまったくわからないなぁ まったく使わなそうな気がするのでそこだけ勉強すらしてないなぁ。。
522 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 01:42:24 ] >>521 いや、こういう事 <html><body>ゴミ</body></html>
523 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 11:17:23 ] ああなるほど把握
524 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 14:56:32 ] パブリックメンバにDictinaryを含むクラスをシリアライズしたいのだけど、 IDictionary実装クラスはシリアル化できないと怒られます。 KeyValuePair構造体の配列に変換してからシリアル化するのがいいのかと考えたんですが、 デシリアライズの時にどうすればいいのか・・・ どなたか助言いただけると助かります
525 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 15:09:15 ] 配列にしたとしても、KeyValuePair(のプロパティ)が変更可能でないから駄目じゃないか 俺は変更可能なKeyValuePairとDictionaryのラッパー作って対処したが
526 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 15:25:42 ] Dictionaryでset可能なプロパティって気持ち悪いな IXmlSerializableの実装でも書くか?
527 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 15:42:24 ] C#でH8/3069の制御って出来ますか?
528 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 15:54:41 ] うん
529 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 16:13:30 ] 返答ありがとうございます もう少し具体的な質問が出来るようになるまで自分で勉強しようと思います
530 名前:524 mailto:sage [2008/09/17(水) 17:29:27 ] 結局パブリックプロパティで、 Dictionaryのkeyとvalueの2次元配列を取得、 Setterでは2次元配列のループでDictionaryにkeyvaluepairを格納していくような設計にしました。 やはりDictionaryはカプセル化した方が良かったですね。 ただデシリアライズ時のパフォーマンスがどうなるかは?ですが。
531 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 18:49:57 ] >>528 え゙ ?H8向けのコンパイラ(実行環境)ってあるの?
532 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 18:55:26 ] ↑アホ
533 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 19:38:33 ] いや、俺の方がもっとアホ
534 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 19:46:40 ] >>531 H8は(というか今時のマイコンはほとんどそうだと思うけど)実機とIDEで デバッグができるはず。 まあでもマイコンの開発にデバッガなんて俺はいらないと思うけどね。 少なくとも俺は使ったことも必要性を感じたこともないよ。
535 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 22:42:02 ] タイマーで10ミリ秒毎にフォーム上のマウスカーソルの座標を取得し、 マウスに合わせて画像も一緒に移動させる。 更に、クリックした場所に画像を固定する。 ってなことをやってみたんですが、 移動時など、ものっすごい画像がチラついてしまいますorz やっぱこういうのはDirectXなどを使ったほうが良いのでしょうか?
536 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 23:06:50 ] 本当にそれは10ミリ秒毎にする必要はあるのか?
537 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 23:08:53 ] >10ミリ秒毎 意味あると思ってんのか?
538 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 23:23:14 ] 100fpsなんて格ゲでもやらんぜ
539 名前:535 mailto:sage [2008/09/18(木) 00:39:58 ] 3連発でダメ出しされるとは・・・orz 最初100ミリ秒でやったんですが、 マウスの動きに若干遅れるんで、10ミリ秒にしてみました。 意味は全然考えてませんでした。すいません。。 これは仕様から考え直したほうが良さげですね。 お騒がせしました&ありがとうございました。
540 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 01:14:11 ] タイマでやらんでもできるっしょ。 ボードゲームのソースでも拾ってくれば?
541 名前:デフォルトの名無しさん [2008/09/18(木) 01:33:08 ] C#というわけではないのですが、ファイル管理ソフトでファイル内 文字列まで見て該当ファイルを見つけるという検索がありますが、 あれは文字列の形式やフォーマットあるいはエンコードなどをすべて のケースで調べているのでしょうか? たとえばExcelやワードなどのファイルの場合は、それをテキスト形式 で取り込んで調べるのでしょうか?
542 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 01:36:38 ] >>541 うぜえ、なんだこいつ 場違いなんだよ消えうせろクソ餓鬼
543 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 03:05:33 ] >>540 画像をマウスと一緒に動かすのは、とりあえず諦めました。 で、オセロとか見てたんですが、置く画像が正方形なら簡単だけど、 長方形も混在してると、途端に難しくなりますね。 ゲーム系のプログラムは全然やったこと無かったんで、 もっと単純な物も参考にしてやってみます。
544 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 03:52:15 ] >>543 PanelとかPictureBoxとかのMouseMove/MouseClickイベントで十分ぽい匂いがした。
545 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 07:56:55 ] struct Vect { public Point[] Points; } private void init() { Vect v = new Vect(); v.Points = new Point[] { new Point(2, 3), new Point(3, 4) };//これだといける v.Points = { new Point(2, 3), new Point(3, 4) };//これだとエラーが出る } なぜエラーがでるのでしょうか?どういう違いがあるのでしょうか?
546 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 08:00:00 ] Point[] Points = { new Point(2, 3), new Point(3, 4) }; こんな感じで記述するといけるんですが・・
547 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 08:29:26 ] >>545 new Point[] を省略していいのは変数宣言の時だけ。
548 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 15:22:45 ] 省略できるのしらんかったw
549 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 17:28:56 ] menustripコントロールで出来て、toolstripコントロールだと出来ないことってありますか? toolstripならアイコンだけじゃなくて文字でも表示できるのでmenustripを使う意味はあるのかなと思いました。
550 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 19:24:28 ] C#Builderのプロジェクトファイル群をVC#対応へ移行するにはどのようにするのでしょうか?
551 名前:デフォルトの名無しさん [2008/09/18(木) 21:06:14 ] エラー 1 型または名前空間名 'Drawing' は名前空間 'System' に存在しません。アセンブリ参照が不足しています。 どこいっちゃったのよ。
552 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 21:13:25 ] Drawingの前にSystemつけるかusing System.Drawing;じゃないか
553 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 21:18:55 ] スレタイに C井 が足りない
554 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 21:20:07 ] C丼は足りてる
555 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 21:24:26 ] .net1.0からの移植 using System.Drawing;でエラーが出た もう意味がわからない
556 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 21:27:33 ] ※ C丼: コチュジャン丼。豚肉と温野菜をコチュジャンで甘辛くした物をご飯の上に載せた物
557 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 21:31:10 ] ソリューションエクスプローラーの参照設定にSystem.Drawing入ってるか?
558 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 21:33:20 ] 「System」だけ参照設定に入ってるけど、一つ一つやらなきゃいけないの? なんか似たようなエラー30個もある
559 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 21:35:48 ] なるほど解決しました エラー減っていくのが楽しいです ありがとう
560 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 21:38:59 ] 現金な奴だw
561 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 21:40:21 ] じゃあ、C丼について語ろうか
562 名前:デフォルトの名無しさん [2008/09/18(木) 21:43:23 ] 丼だけ〜 ?
563 名前:デフォルトの名無しさん [2008/09/18(木) 23:42:56 ] C#で、Formに張り付いているTextBoxを、 マウスドラッグされた場所に移動する場合どの メソッドをしようすればいいでしょうか?
564 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 00:41:50 ] メソッドは使用しない。 プロパティなら使用する。
565 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 00:42:08 ] private bool clicked = false; Point beforeLocation; private void textBox1_MouseDown(object sender, MouseEventArgs e) { clicked = true; beforeLocation = textBox1.PointToScreen(e.Location); } private void textBox1_MouseMove(object sender, MouseEventArgs e) { if (clicked && (beforeLocation != null)) { Point afterLocation = textBox1.PointToScreen(e.Location); textBox1.Left += (afterLocation.X - beforeLocation.X); textBox1.Top += (afterLocation.Y - beforeLocation.Y); beforeLocation = afterLocation; } } private void textBox1_MouseUp(object sender, MouseEventArgs e) { clicked = false; } 超適当で作ってみたけど正しいかはわかんない
566 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 01:03:03 ] もうちょっとシンプルに int mx, my; bool mDown; private void textBox1_MouseDown(object sender, MouseEventArgs e) { mx = e.X; my = e.Y; mDown = true; } private void textBox1_MouseMove(object sender, MouseEventArgs e) { if (!mDown) return; this.textBox1.Left += e.X - mx; this.textBox1.Top += e.Y - my; } private void textBox1_MouseUp(object sender, MouseEventArgs e) { mDown = false; }
567 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 04:36:53 ] msdnドキュメントをオフラインで使用したいのですが どこでダウンロードできますか?
568 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 04:42:58 ] Download Centre
569 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 07:45:52 ] 2005用のしかないんだけど、2008にも使えるの?
570 名前:デフォルトの名無しさん [2008/09/19(金) 09:24:58 ] すみません、、、質問させていただきます。 for文を利用して、偶数表示をするWEB画面を作成する課題がでました。 解答例)2,4,6,8,10 結果は、10が表示されます。デバッグしたら、 2,4,6,8もif文の中をとっているのに表示されません、、、 提出期限は昨日の夜まででした、、、ほんとに どうしていいか分かりません。教えてください。 for (int i = 1; i <= 10; i++) { if (i % 2 == 0) { litShowAns.Text = Convert.ToString(i) + "、"; } } litShowAnsはliteralのIDです。 ヒントは文字列の結合らしいのですが。。。何で文字列の結合が必要なのか分かりません。
571 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 09:36:30 ] >>570 Aという変数に2から10まで入れたとして、最後に入ってるのは10だろ?
572 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 09:37:32 ] >>570 文字列の結合を調べましたか? 試しましたか? i がそれぞれの値のとき、何が起こっているか自分なりに説明できますか?
573 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 09:49:15 ] >>570 litShowAns.Text += Convert.ToString(i) + "、";
574 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 09:54:16 ] >>570 for (int i = 2; i <= 10; i+=2) { string str += Convert.ToString(i) + "、"; } litShowAns.Text=str;
575 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 09:55:15 ] 間違えた string str =""; for (int i = 2; i <= 10; i+=2) { str += Convert.ToString(i) + "、"; } litShowAns.Text=str;