[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 08/16 23:53 / Filesize : 244 KB / Number-of Response : 980
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C#, C♯, C#相談室 Part46



1 名前:デフォルトの名無しさん [2008/04/22(火) 00:31:59 ]
(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。
c++厨の嵐はスルー汁。

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

その他テンプレ>>2-5くらい

458 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 20:37:51 ]
メッセージとしてスウェーデン語文字を表示させたいのですが、
なぜか読み込んでくれずにエラーが起きてしまいます
どうしたらよいのでしょうか

459 名前:456 mailto:sage [2008/05/24(土) 20:42:51 ]
>>457
ありがとうございます。実際にwavファイル置いてパス指定して音を鳴らすことは問題なくできるんですが、
埋め込めたら良いなぁ・・・ってことなんです。
もしかして、埋め込みは無理ってことですか?

460 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 20:42:50 ]
>>452
これがクエリ式のパーサ持ってたと思う。使い回せるかも。
ttp://www.codeplex.com/nlinq

使い方は"poorman's linq"でぐぐる。

461 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 20:45:46 ]
>>458
取りあえずエラーとやらに付随してるメッセージを読み上げるといいよ

462 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 20:46:10 ]
>>458
OSにスウェーデン語パックを導入しる

463 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 20:48:49 ]
>>462
今からググってきます。ありがとうございました

464 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 22:09:12 ]
レベルの低い質問で申し訳ありません。
出力の種類を「クラスライブラリ」としてあるプロジェクトを、スタートアッププロジェクトに設定した他のプロジェクトに参照させるにはどうすればよいのでしょうか。
そのままusingしようとしても「名前空間がない」と言われてしまいます。

465 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 22:12:54 ]
>>464
ソリューションエクスプローラで参照したいプロジェクトを右クリックして
参照の追加 → プロジェクト

466 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 22:16:17 ]
>>434
今更だけど、要は「5の倍数への丸め」、もしくは「丸め幅5での丸め」でしょ?
個人的には汎用的なこれを使いたいところ

var y = (int)Math.Round((decimal)x / n) * n;

まあ、整数型に限定してもこんなところじゃないか

var y = (x + (n / 2)) / n * n;

因みに、後者はaway from zeroだが、前者はRound()のmode指定で選択可
対象が整数値で、かつ丸め幅が奇数ならどちらでも同じ



467 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 22:37:56 ]
>>465
ありがとうございます。

468 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 22:54:56 ]
>>456
もしかしたら、Compact Frameworkじゃ違うかもしれないけど
多分、その方法はファイルをresxに埋め込まない古いやり方。

wavファイルをプロジェクトに追加して
ビルドアクションを「埋め込まれたリソース」にすれば、
その方法で鳴る筈。

んで、2005以降は、リソースエディタを使ってresxに埋め込んで、
"HI"がリソース名になったとしたら、

System.IO.Stream s = Properties.Resources.HI;
SoundPlayer player = new SoundPlayer(s);
player.Play();

で一応鳴る。

でも、ストリームのWAVEデーターの再生は、
GC絡みで問題があるらしい。
詳しくはこれを。

ttp://dobon.net/vb/dotnet/programing/playembeddedwave.html

469 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 23:05:15 ]
ブロック崩しを作ったのですが、ボールが宙に浮いているときにスペースキーを押すと、
ボールが画面外に飛び出してしまうのです。どうにかなりませんか?
ちなみにソースはこれ

www.borujoa.org/upload/source/upload18960.txt

470 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 23:24:40 ]
ソースを解析したうえでデバッグしてくれと。

471 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 23:27:03 ]
>>469
ソース見て吹いたw

472 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 23:31:36 ]
>>469
こういうifの書き方好きなの?


473 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 23:31:59 ]
ってそもそもスレ違いじゃん

474 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 23:32:51 ]
何でもう消えてるんだよ。ちょっと見てみたかった

475 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 23:56:20 ]
キャッシュ漁ったら見つけた


476 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 23:59:51 ]
型に格納できる値の最大値、最小値を返す関数はありますか?
例えば、unsigned intなら0か4294967295を返せる、といったような。
変数の型の範囲を超えるような値が格納されそうになった場合、エラーを出すような関数を作ろうと思っているので。



477 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 00:03:33 ]
MaxValue/MinValueじゃ足りんのか?

478 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 00:19:23 ]
そんなの、泣けりゃじぶんで定義して返せよ

479 名前:デフォルトの名無しさん [2008/05/25(日) 00:24:16 ]
LL言語のWWW::Mechanize的なのを探してます。
C#や.NET Framework向けのwebスクレイピングライブラリはないですか?
検索してたのですが、なかなか見つからないや・・・

480 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 00:24:27 ]
スレ違い

481 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 00:24:56 ]
>>478
いやいや、476はMaxValue/MinValueを知った上でそういう関数が欲しいんじゃなくて、
ただ単に MaxValue/MinValueの存在を知らないだけじゃないかと。


482 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 00:27:41 ]
関数はまあ見逃すとしてもunsigned intなんて言ってる時点でスレ違いである事に気付こうな


483 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 00:28:51 ]
>>479
MS は文法のゆるい HTML を機械処理するのはあまり好きじゃないみたい。

HTML2XHTML みたいなものを通して文法の正しい XML にした上で、
XmlReader やら LINQ to XML でアクセスするのがいいかと。
↓でそういうことやってるんだけど、
d.hatena.ne.jp/uesama99/20080219/1203394007
HTML2XHTML が微妙臭い。

484 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 00:29:53 ]
>>482
しっかり読んでなかったw

それはちゃんと、「C# は C/C++ とは違いますよ」誘導してやろうよ。

485 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 00:52:32 ]
>>477
ありがとうございます。
>>481
その通りです。低レベルすぎてすみません。
>>482
C#ではUInt32って書くんですね。ありがとうございます、勉強になりました。

486 名前:デフォルトの名無しさん [2008/05/25(日) 01:45:22 ]
>>483
クッキーとか面倒なところを良きにはからってくれるのはないっぽいですね。

LLと組み合わせるしかないか・・・
GUI楽したいので.NET使いたかったけど、うまくいくかなあ

とりあえうずありがとう。
いろいろ試してみます



487 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 07:57:54 ]
2005のPropertyGridについて質問
プロパティタブをいくつか追加したりしてるんだが
ボタンに使われる画像の色が PropertyTab.Bitmap で retuen した Format32bppArgb の画像と微妙に違う
見た感じは大体同じなんだが、実際のRGBを調べるとほんの少しずれてたりする
何か色数の制限があるのなら、それに合わせた画像にするんだけど分かる人いる?

488 名前:456 mailto:sage [2008/05/25(日) 08:59:21 ]
>>468
ありがとうございます。
ビルドアクションを「埋め込まれたリソース」には一応変更していたんですが、鳴りませんでした。
・・・とおもったら、hi.wavが(.resxに埋め込む操作したとき)Resourceフォルダの中に入ったままビルドアクションを変更していたので、
常識的に考えて鳴りませんね。プロジェクトのディレクトリ直下に移して無事鳴りました。

あと、
System.IO.Stream s = Properties.Resources.HI;
SoundPlayer player = new SoundPlayer(s);
player.Play();
も、そのサイトを見つけたときにやってみたんですが、
CompactだとProperties.Resources.hiがstreamじゃなくてbyte[]を返してくるんで使えませんでした。
・・・って思ってたんですが、
byte[] hibyte = Properties.Resources.hi;
MemoryStream s = new MemoryStream(hibyte);
player.PlaySync();
すればすむ話ですねo. . ...rz

昨日の数時間は何だったんだ・・・
1日置くと急に分かったりするもんですね(´・ω・`)
本当にありがとうございました。






489 名前:456 mailto:sage [2008/05/25(日) 09:03:19 ]
byte[] hibyte = Properties.Resources.hi;
MemoryStream s = new MemoryStream(hibyte);
SoundPlayer player = new SoundPlayer(s);
player.PlaySync();

の誤りです。すいません。

あと、>>456ではPlay()使ってますが、
特に非同期再生が必要なわけではないので、GC絡みのを回避するためにもPlaySync()を使おうと思います。


490 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 11:27:09 ]
質問です
ネットの初心者向けサイトを見ながらC#をやっていたんですがそろそろきつくなってきました
とくにデリゲートをイベントハンドラとして実装するところと、イテレータがよくわかりません
初心者から中級者にレベルアップするために買うべき本を教えてください

491 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 14:11:02 ]
C#用のDXライブラリと言うものがあったので早速使ってみたのですが、エラーが出ました。

空のプロジェクトに参照をDLLを追加し、Class.csファイルを作り、メインメソッドに
DxLibrary.DxLib_Init();
と書いただけなのですが、
DLL 'DxLibDll.dll' を読み込めません: 指定されたモジュールが見つかりません。 (HRESULT からの例外: 0x8007007E)
と出てしまいます。

DLLはあらゆる場所に配置して試したのですが、
やはり同じようにエラーがでます。
何か特別な書き方が必要なのでしょうか?

492 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 14:17:45 ]
DXライブラリの公式サイトで提供されてる方のC#用DXライブラリを使え
使い方も丁寧に書かれてる

493 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 14:19:29 ]
>>492
ありがとうございます。

いつのまにか出てたのですか!?
なぜエラーが出たのかは未だ不明ですが、早速使ってみたいと思います。

494 名前:デフォルトの名無しさん [2008/05/26(月) 15:17:26 ]
質問です。
2つのスレッドでそれぞれフォームを作成し表示します。
このとき、これらフォームの表示順位(重なり)を
コントロールすることは可能でしょうか?

なんか、デバッカ上とSetup後のプログラムで表示順がことなって
メッセージボックスが隠れたりする・・

495 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 17:06:52 ]
構造体の中で1次元配列メンバを持つには
struct A{
public fixed double b[123];
};
でいけますが、
構造体の中で2次元配列メンバを持たせるために
struct A{
public fixed double b[123][234];
};
などとやってもエラーになります。
構造体の中で2次元配列メンバを持たせることは可能でしょうか?

496 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 17:10:31 ]
494です。自己レスします。
とりあえず以下HPを参考にし、隠れていたダイアログが表示されるようになりました。(暫定対応ですが・・)
www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=34347&forum=7&start=0
端的に言うと、複数のアプリをダブルクリックしたときと同じで、
後から立ち上げた方が優先されて表示される。のと同じみたいです。

お騒がせしました。



497 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 17:17:20 ]
>>495
fixedである以上は無理

498 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 18:17:56 ]
質問です。
クラスの配列をインスタンス化するのにforを使って次のようにやってるんですが、
もしもっとスタンダードな方法があったら教えてください。
for文の中でインスタンス化すると、スコープから出ると消えちゃうような感覚がして気持ち悪いんです。

classA{}

A[] a = new A[n]
for(int i = 0; i < n; i++){
a[i] = new A();
}

499 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 18:20:50 ]
狂っているその感覚を修正する事をお勧めします。


500 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 18:21:08 ]
それで十分スタンダード

> for文の中でインスタンス化すると、スコープから出ると消えちゃうような感覚がして気持ち悪いんです。
この感覚を何とかしたほうがいい


501 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 18:23:51 ]
もしかして
A[] a = new A[n] ← classA型の変数を宣言
a[i] = new A(); ← 実際に代入
つまり、for文の中では代入行為しかやってないから消えない、ということですか?

502 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 18:29:29 ]
GCのアルゴリズムを理解した方がいいよ。

GCってのは「参照できる限りは消えない」

例えばnが1なら、forを抜けても a[0]を参照できるでしょ?
で、参照できるので消えない。

503 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 18:34:42 ]
了解しました。勉強します。

504 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 19:18:27 ]
というかスコープを勉強したほうがいいだろ

505 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 19:20:45 ]
スコープは割と正しく理解出来てるような発言に見えるけど?

506 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 19:30:39 ]
GCとは全く関係ないだろ。
スコープの話をしてると思うんだが。



507 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 20:26:57 ]
コンストラクタでフィールドにインスタンスを代入したら不自然か

508 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 23:14:09 ]
なんでGCが出てきたんだw


509 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 23:16:05 ]
↑遅れてきたアホ


510 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 23:36:55 ]
確かにマオは四川省だったから ヤバスwww

511 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 23:37:37 ]
スマソ、誤爆った

512 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 23:41:06 ]
newしたものはアクセスできるなら消えない

513 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 00:18:08 ]
>>505
できてないできてない。

514 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 00:46:13 ]
.NETのGCはスコープより早く働くことがあるから要注意なんだよね。たとえば
static void Main() {
 Hoge hoge = new Hoge();
  hoge.Foo();    // hogeが参照されるのはここが最後
  // 時間のかかる処理
}
hogeがまだスコープ内にあるにもかかわらず、時間のかかる処理の最中にGCされることがある。


515 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 00:50:36 ]
↑あほ?wwwwww

516 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 00:53:20 ]
そんなものに注意は不要




517 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 01:00:18 ]
ttp://dobon.net/vb/dotnet/process/checkprevinstance.html
ここの真ん中くらいの「補足:ニュースグループ・・・」あたりにその例が出てる。
KeepALiveを使ってる箇所。

518 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 01:14:44 ]
これもスコープ終了以前にGCされて落ちる例だね。

「ふらっとC#,C♯,C#(初心者用) Part22」
ttp://pc11.2ch.net/test/read.cgi/tech/1197802312/850-877

>876 名前: 875 [sage] 投稿日: 2008/01/08(火) 00:46:17
>>850
>あーもしかしてと思ってと思って>>875のコードから
>GC.KeepAlive(func); 抜いたら確かにAccessViolationExceptionおきるね。
>言ってるのはこれのことじゃろか。

>P/Invokeにデリゲートを渡す場合、そのデリゲートの寿命管理は.NET側の責任。
>実は元のるびま記事にも書いてある。
>ttp://jp.rubyist.net/magazine/?0021-RubyWithCSharp#fm05

519 名前:498 mailto:sage [2008/05/27(火) 01:56:25 ]
もしかして>>501の理解も間違いだらけなんでしょうか?
もう少し詳しく教えていただけませんか。

520 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 02:21:58 ]
>>498はGCと関係ないよ。
厳密には関係なくないとしてあえて言うと、
new A[n]したオブジェクトはA[] aの寿命(参照が外れるまで)生きてる。

521 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 05:51:20 ]
初歩的なことだとうじゃうじゃ煽りレスがついたりするのに
ちょっと難しい質問だとなかったかのようにスルーするお前らワロスw

522 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 08:25:46 ]
>>521
最近はROM主体だが、お前の発言が一番醜く見える。
そんなに無視されたのがくやしいのか? ちなみにどの質問なのか示してみ。

523 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 08:56:45 ]
どこが難しいの?直前のネタはフラットでもスルーだろ・・・C#関係ないし

524 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 09:04:01 ]
>>518
それはスコープが終了するとGCされるから、プログラマの責任でスコープを終了させんな、って話だ。

525 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 09:12:10 ]
>>522
わざわざROM主体とか前置きしないとレスできないのかよw

526 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 09:14:26 ]
ROM主体と言うのを何か言い訳に使ってるなら
>>525のレスは理解出来るが、別に言い訳に使ってないじゃん
まあ、無駄な前置きではあるけど



527 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 09:40:12 ]
>>526
まあ、第三者を装ってるあたりはみっともないな

528 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 10:23:17 ]
>>524
それはるびまの記事の話だろう。
あのスレの>>875はこんなコード。GC.KeepAliveを抜いたらクラッシュする。

static void Main(string[] args)
{
VALUE state = 0;
Ruby.ruby_init();
const string funcdef =
"def foo\n" +
"s=\"FOO\"+nil\n"+
"end";
Ruby.rb_eval_string_protect(funcdef, ref state);
VALUE hoge = Ruby.rb_intern("hoge");
Ruby.CallbackArg0 func = arg => Ruby.rb_funcall(Ruby.Qnil, hoge, 0, 0);
VALUE result = Ruby.rb_protect(func, Ruby.Qnil, ref state);
GC.KeepAlive(func);
}

529 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 13:20:13 ]
アンマネージな世界に渡したデリゲートを安全に保持しとくには
アンマネージ側で不要になるまでGC対象にならないようにしとかなきゃならない。

てだけの話?


530 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 13:41:36 ]
>>529
そういうこと。
他にも、インライン展開されたコンストラクタが完了する前にファイナライザが実行されることすらあるよ。
この場合もアンマネージな世界のハンドルの早すぎる解放であぼんする場合がある。

531 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 13:44:19 ]
>>529
9割9分そういう理解でOK。>>514もアンマネージなmutexやロックのためのファイルを
開いたままにする場合などに影響が出る。
アンマネージが関係しないケースはまれなのだが、なぜかそのレアケースが、
MSDNに載ってたりする。サンプルソースは2種類あるが最初のほう。
msdn.microsoft.com/ja-jp/library/system.gc.keepalive(VS.80).aspx

532 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 14:44:45 ]
非同期ゲリゲートの動きを止めたいときはどうすればいいですか?

533 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 15:07:42 ]
>>532
フラグやEventを使ってスレッド自身にそうさせるのが基本。

534 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 16:06:12 ]
関係ない話題を知ったかでひけらかすより質問に的確に答えてあげたら?

535 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 16:10:55 ]
いったい何の話だ?

536 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 16:12:20 ]
すっげーすぐにレス来たww
お前が関係ない話してレスが流れたんだろ。
自分で見返せ。



537 名前:535 mailto:sage [2008/05/27(火) 16:19:20 ]
>>536
えーと、俺はこのスレには初めて書いたものだが
流れがわからんからアンカーつけてくれないか?
どの質問の話かわからないから、答えようが無いわ。

538 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 16:22:12 ]
>>531
そこのサンプル例1の解説が不正確で、プロパティの取得処理が
時間のかかる処理のためデストラクタが先に動いてしまうと読めるがそれは誤り。
もしそうであれば.NETのGCなんて安心して使えない。
それはデストラクタの使い方に重大な欠陥があるために発生する。
具体的にはExampleクラスのデストラクタで他のクラス、
この場合hashValueが参照を持つArrayクラスの後処理を書いたらいかんということ。
マネージドだけの場合は基本的にKeepAliveのことは考えなくてよい。


539 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 16:57:12 ]
デストラクタが呼ばれるときには、既にメンバは解放された後なんだっけ?

540 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 17:11:04 ]
微妙に違う。
ファイナライズメソッドの実行順序には何の保証もないという話。

だと思うけどリンク先見てないから確かなことは分からん。

541 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 17:11:27 ]
>>539
メンバに参照型を持つ場合でも、オブジェクトとして独立してるので
デストラクタが動くタイミングやメモリが回収されるタイミングは不順。
順番が必要な場合はDispose(true)のパターンを使う。

542 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 17:13:17 ]
あいや、ずっと前に読んだことあるはずでかすかな記憶によると
解放された後っていうか自分で解放してんじねーかよw
って話だったかも…


543 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 17:48:04 ]
>>537
半年ROMれ。

544 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 18:08:24 ]
>>543
それはない

545 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 19:47:37 ]
一匹キティが沸いてんな・・・フラットじゃないのに

546 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 21:16:53 ]
フラット!フラット!!



547 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 00:24:52 ]
質問です。

フォームを2つ使うアプリを作っています。
メニューはメイン側にはありますが、サブ側は何もありません。

で、サブ側にフォーカスがある時に、メイン側のメニューのショートカットを叩いても、
フォーカスがサブ側にあるため、イベントが発動してくれません。
出来ればこのショートカットを共有したいと思っています。

サブ側でもOnKeyDownなんかで同じ関数を呼ぶようにすれば可能といえば可能ですけれど、
あまりにも美しくないなと思ってます。何か上手い方法は無いでしょうか?

548 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 00:38:50 ]
ほかのウィンドウのイベントが別のウィンドウのショートカットをたたくというのは美しくないだろ。
ルートのフォームまでで処理されなかったイベントがアプリケーションのハンドルで処理されるというのが正しい形だと思う。

549 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 00:47:27 ]
サブフォームでメインのOnKeyDown呼べばいいじゃん

550 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 00:50:05 ]
返信ありがとうございます。

>>548
そもそもメインのフォームでイベントを処理している、ってのがおかしいってことですかね?
メインにしろサブにしろ、フォームはイベントを発行するだけで、
その実際の処理はアプリケーション級のオブジェクトがハンドルするわけですか。

551 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 07:35:33 ]
MDIにしる

552 名前:デフォルトの名無しさん [2008/05/28(水) 11:10:54 ]
2重起動を防いで、後から起動された方に渡されたコマンドライン引数を
最初に起動された方に渡したいです。
ttp://dobon.net/vb/dotnet/process/checkprevinstance.html
ここにVB.NETでのやり方が書いてあり、C#でも似たようなことは出来ると思ったんですが
Microsoft.VisualBasic.ApplicationServices
これが存在しないエラーというが発生しました。
C#だと別のプロセスにデータを渡したりって事が無理なんでしょうか?

553 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 11:20:52 ]
参照の追加

554 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 11:21:18 ]
それでやるなら該当のdll参照すれ

555 名前:デフォルトの名無しさん [2008/05/28(水) 11:31:31 ]
>>553
>>554
参照追加したらありました。
たんにusingを記述するだけじゃダメだったんですね。
これでなんとかなりそうです。
ありがとうございました。

556 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 11:37:44 ]
ttp://blogs.dion.ne.jp/anis7742/archives/6905607.html
ここでも聞いてるやついるな。
当たり前すぎて書かないからなー、普通。



557 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 14:13:09 ]
なんつう偉そうなコメントだw

558 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 19:16:03 ]
なぜSystem.Arrayクラスから派生クラスを作れないんですか?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<244KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef