2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

C♯, C#相談室 Part36

1 :デフォルトの名無しさん:2006/12/09(土) 18:33:59
(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。

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


過去スレは>>2-5あたり。
※スレタイに「#」を入れても消えちゃうので新スレ立てる人は要注意だ。


2 :デフォルトの名無しさん:2006/12/09(土) 18:37:08
Part34http://pc8.2ch.net/test/read.cgi/tech/1157549657/
Part33 http://pc8.2ch.net/test/read.cgi/tech/1153537081/
Part32 http://pc8.2ch.net/test/read.cgi/tech/1149934230/
Part31 http://pc8.2ch.net/test/read.cgi/tech/1145075577/
Part30 http://pc8.2ch.net/test/read.cgi/tech/1141448072/
Part29 http://pc8.2ch.net/test/read.cgi/tech/1138925245/
Part28 http://pc8.2ch.net/test/read.cgi/tech/1134514022/
Part27 http://pc8.2ch.net/test/read.cgi/tech/1131544541/
Part26 http://pc8.2ch.net/test/read.cgi/tech/1127063469/
Part25 http://pc8.2ch.net/test/read.cgi/tech/1122352650/
Part24 http://pc8.2ch.net/test/read.cgi/tech/1117631000/
Part23 http://pc8.2ch.net/test/read.cgi/tech/1112968209/
Part22 http://pc8.2ch.net/test/read.cgi/tech/1109630502/
Part21 http://pc5.2ch.net/test/read.cgi/tech/1106490240/
Part20 http://pc5.2ch.net/test/read.cgi/tech/1103005153/



3 :デフォルトの名無しさん:2006/12/09(土) 18:38:29
Part19 http://pc5.2ch.net/test/read.cgi/tech/1100240847/
Part18 http://pc5.2ch.net/test/read.cgi/tech/1096112588/
Part17 http://pc5.2ch.net/test/read.cgi/tech/1091284402/
Part16 http://pc5.2ch.net/test/read.cgi/tech/1087297504/
Part15 http://pc5.2ch.net/test/read.cgi/tech/1083066815/
Part14 http://pc5.2ch.net/test/read.cgi/tech/1076933504/
Part13 http://pc2.2ch.net/test/read.cgi/tech/1071663456/ (ログ行方不明)
Part12 http://pc5.2ch.net/tech/kako/1066/10660/1066038651.html
Part11 http://pc5.2ch.net/tech/kako/1061/10612/1061262958.html
Part10 http://pc5.2ch.net/tech/kako/1051/10518/1051842450.html
Part9 http://pc2.2ch.net/tech/kako/1039/10396/1039646808.html
Part8 http://pc3.2ch.net/tech/kako/1032/10324/1032488831.html
Part7 http://pc3.2ch.net/tech/kako/1027/10275/1027531796.html
Part6 http://pc3.2ch.net/tech/kako/1022/10222/1022257078.html
Part5 http://pc3.2ch.net/tech/kako/1019/10195/1019533942.html


4 :デフォルトの名無しさん:2006/12/09(土) 18:39:19
Part4 http://pc.2ch.net/tech/kako/1016/10165/1016597767.html
Part3 http://pc.2ch.net/tech/kako/1009/10094/1009473982.html
Part2 http://pc.2ch.net/tech/kako/1002/10024/1002468050.html
Part1 http://pc.2ch.net/tech/kako/977/977112364.html

5 :デフォルトの名無しさん:2006/12/09(土) 18:39:55
Visual C# 2005 Express Edition 日本語版
http://www.microsoft.com/japan/msdn/vstudio/express/vcsharp/

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

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

相互運用マーシャラによるメモリ管理
http://msdn2.microsoft.com/ja-jp/library/f1cf4kkz.aspx

Buffers のサンプル
http://msdn2.microsoft.com/ja-JP/library/x3txb6xc.aspx

文字列のマーシャリング
http://msdn2.microsoft.com/ja-JP/library/e8w969hb.aspx

pinvoke.net: the interop wiki!
http://pinvoke.net/

テンプレ終了


6 :デフォルトの名無しさん:2006/12/09(土) 18:45:08
>>1
おつりんこ

7 :デフォルトの名無しさん:2006/12/10(日) 00:44:52
新スレで早速ですが…、
プログラム Appli_A.exe と Appli_B.exe があったとして、
Appli_A.exe が Appli_B.exe が起動しているかどうかを知ることってできるの?
起動してるプロセスを取得して、Appli_B.exe があるかをチェックとかでは、
Appli_B.exe の名前をかえられたら、対処できないし…

どうすれば…

8 :デフォルトの名無しさん:2006/12/10(日) 00:48:21
どっちにも手を入れられるなら、Mutex 使うのが手っ取り早い

9 :デフォルトの名無しさん:2006/12/10(日) 02:50:47
>>8
どっちも自作中だからMutex使います。ありがとう。

10 :デフォルトの名無しさん:2006/12/10(日) 13:58:36
DataGridViewのHeaderに出る三角印は、どの値を変更すれば変わるんでしょうか?
マーク自体の変更ではなく、他のコントロールから選択位置を変更出来るようにしたいのですが。

11 :デフォルトの名無しさん:2006/12/10(日) 14:23:35
DataGridView.CurrentCell

12 :デフォルトの名無しさん:2006/12/10(日) 14:46:32
>>11
即レスありがとうございます。一応変更できました。
ただ、列として指定する方法は無いのでしょうか?
どうやらDataGridコントロールではCurrentRowというのを設定出来たようなんですが、無くなってしまったのでしょうか。
別に現状で問題は解決したので、+αといった所なのですが。

13 :デフォルトの名無しさん:2006/12/10(日) 15:20:32
名前忘れちゃったけど SelectionStyle かなんかのプロパティで
FullRowSelect だかを設定すれば行単位で

14 :デフォルトの名無しさん:2006/12/11(月) 09:01:57
>>10
外れてるかもしれないけど、
http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.datagridviewcolumnheadercell.sortglyphdirection(VS.80).aspx

15 :デフォルトの名無しさん:2006/12/11(月) 19:06:54
C#にて
Form1.cs(Form)とcodefile.cs(コードファイル)があります。

codefile.csにpublic static void xxxx()をつくり、Form1から呼び出すことはできるのですが、
codefileからForm1のコントロールの操作ができません。

コントロールの参照範囲をPrivateからPublic等にしてみましたが駄目でした。

解決方法ご教授願います。

16 :デフォルトの名無しさん:2006/12/11(月) 19:11:09
そういう時はね、出てくるエラーメッセージ書くか
可能な限りコードを見せるべきなのよ。

わかった?ボク?

17 :デフォルトの名無しさん:2006/12/11(月) 19:18:05
何を言ってるのかまったくわからんw

18 :デフォルトの名無しさん:2006/12/11(月) 19:24:23
お世話になります。現在、SmartClientの事前検証を行っています。
ClickOnceの技術を用いてClient,Serverの両方のAPPLを作成しました。

開発マシン:WindowsXPでは正常に動作するAPPLがWindows Server 2003では動作しません。
ClientからWebサービスのWebメソッドを実行すると
SoapException:401 Unauthorizedの例外が発生します。

** AdministratorのユーザーでLoginしているのになぜ??

--- Client Source ここから ---
try
{
string message = ClientService.Test();
MessageBox.Show(message, "Webサービステスト", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
--- Client Source ここまで ---


19 :デフォルトの名無しさん:2006/12/11(月) 19:24:40
--- Server Source ここから ---
[WebMethod]
public string Test() {
return Utilities.SerializeTest("Hello");
}
--- Server Source ここから ---

ClientのAPPLは正常にDLされ画面も表示されます。
また、Webサービス側は「http://hoge/TestWebService/Service.asmx」のURLを入力して
「Test」メソッドの動作確認も取れています。

どうも、認証(セキュリティ)が出来ていないように見受けたので
IIS側のプロパティを確認しました。「匿名認証」「Windows認証」
ともにチェックボックスは「ON」です。

ネット上で色々な事例を探してみましたが皆目検討が付きません。
なにかご存知の方、ご教授願います。

開発マシン:Windows XP SP2 IIS5.1 VS2005 Pro
試験マシン:Windows Server 2003 IIS6.0

20 :デフォルトの名無しさん:2006/12/11(月) 19:41:42
鯖側のどこかがASPNETさんに読めないとか書けないとか?

21 :デフォルトの名無しさん:2006/12/11(月) 19:51:29
>>15
VB出身と見た。

Form1クラスとcodefile.csにあるクラスとの関係がさっぱり分からん。
とりあえずその後者のクラスにForm1のインスタンスへの参照をもたせれ。

とにかくクラスというものを理解せよ。コードファイルとかモジュールじゃなくて。

22 :デフォルトの名無しさん:2006/12/11(月) 20:16:35
>>15
//Form1.cs
public class Form1 : Form
{
private TextBox textBox1;
public TextBox TextBox{get{return this.textBox1;}}
}

//codefile.cs
public class Code
{
public static void Xxxx(Form1 form1){form1.TextBox.Text = "新しいテキスト";}
}
こういうことがやりたいの?
とりあえず基礎からやり直した方がいいよ

23 :デフォルトの名無しさん:2006/12/11(月) 20:18:07
そんなあなたに朗報!

ふらっとC♯, C#(初心者用) Part10
http://pc8.2ch.net/test/read.cgi/tech/1162193452/

24 :デフォルトの名無しさん:2006/12/11(月) 20:32:36
>ClientからWebサービスのWebメソッドを実行すると
>SoapException:401 Unauthorizedの例外が発生します。


わしは素人だが以下の内容がおかしいと思う。
>** AdministratorのユーザーでLoginしているのになぜ??



25 :デフォルトの名無しさん:2006/12/11(月) 20:53:11
IISはAdministratorだとフルアクセスできるの?

26 :デフォルトの名無しさん:2006/12/11(月) 20:57:45
('A`)

27 :デフォルトの名無しさん:2006/12/11(月) 22:47:18
モナーが選択されているという条件分岐は
if(this.comboBox1.SelectedItem.ToString()=="モナー")
となるのに、なぜ?
モナーが選択された状態にするのは
this.comboBox1.SelectedItem="モナー"と書くのか


28 :デフォルトの名無しさん:2006/12/11(月) 22:50:16
日本語でおk

29 :デフォルトの名無しさん:2006/12/11(月) 22:53:06
SelectedItemがstringとは限らないからじゃないかと思われまする

30 :デフォルトの名無しさん:2006/12/12(火) 01:33:14
>>27
代入演算子と、比較演算子は違うから

31 :デフォルトの名無しさん:2006/12/12(火) 02:44:29
>>27
ヒント: this.comboBox1.SelectedItem=(Object)"モナー"

32 :デフォルトの名無しさん:2006/12/12(火) 07:58:01
今までずっとDelphi使ってきたけど、C#を触ってみて思ったのは、
かなりDelphiに近い言語で、.NETもVCLに近い感じがします。
パクりでしょうか。

33 :デフォルトの名無しさん:2006/12/12(火) 07:59:46
C#設計したの、Delphi作った人じゃなかったっけ?

34 :デフォルトの名無しさん:2006/12/12(火) 08:03:45
そーです

35 :デフォルトの名無しさん:2006/12/12(火) 08:06:50
ついでにいうとヘジたんは .NET の開発にも関わってる

36 :デフォルトの名無しさん:2006/12/12(火) 08:20:38
じゃ、DelphianはC#と.NETを習得することは容易ですか

37 :デフォルトの名無しさん:2006/12/12(火) 08:49:56
C#はDelphiの作者がJAVAを横目に見ながらC++を書き直した言語だろ?w

38 :デフォルトの名無しさん:2006/12/12(火) 09:25:04
C magazinにつづきWindws Developer Magazinも休刊か……
なんか.netで門戸が下がったような気がするのに
サンデープログラマーは減ってるのかねえ

39 :デフォルトの名無しさん:2006/12/12(火) 11:26:26
>>37
そりゃ、まさにそのとおりだろ。
だがそれがいい。

40 :デフォルトの名無しさん:2006/12/12(火) 11:29:19
C++を横目に見つつJavaを書き直したんじゃないの?

41 :デフォルトの名無しさん:2006/12/12(火) 14:15:19
構文はC++に近く、基本設計はDelphi。C#単体はいうほどJavaに似てない。
コミュニティも見事に被らないためさらに離れていっている。


42 :デフォルトの名無しさん:2006/12/12(火) 15:19:32
最近はJAVAのほうがC#に似てきた

43 :デフォルトの名無しさん:2006/12/12(火) 16:29:43
GCパクっておいてJavaに似ていないって…

44 :デフォルトの名無しさん:2006/12/12(火) 16:31:54
GCはJavaのパクりじゃないだろ・・・

45 :デフォルトの名無しさん:2006/12/12(火) 16:53:49
わざわざC#「単体」って書いてるのに。誰もCLRの話はしてない
わけだが。そのCLRも手段は別にして目的の方向性がずいぶん
違うしな。

46 :デフォルトの名無しさん:2006/12/12(火) 17:42:33
GCなんてとっても古くからある技術だろ

47 :デフォルトの名無しさん:2006/12/12(火) 19:00:36
どう考えてもjava→c#だと思うよ。
C++→c#だと主張している人は勉強しなおしたほうがいいよ。

48 :デフォルトの名無しさん:2006/12/12(火) 19:07:11
ふつーにVB→C#ってあたりで手を打たないか?


49 :デフォルトの名無しさん:2006/12/12(火) 19:09:09
それはないw

50 :デフォルトの名無しさん:2006/12/12(火) 19:09:46
いやアセンブラ→c#ぐらいじゃないと…

GCは昔のBasic(98とかね)にもあったよ。。。

51 :デフォルトの名無しさん:2006/12/12(火) 19:12:02
GCはFORTRANに並んで歴史の長いLISPあたりが起源なんじゃないの?
別に目新しいもんじゃないでしょ。
そもそもC/C++用のGCだってあるわけで。

52 :デフォルトの名無しさん:2006/12/12(火) 19:12:28
DelphiはC++の影響があると思うよ。
ちょっと古いタイプだと思う。

53 :デフォルトの名無しさん:2006/12/12(火) 19:37:43
>>48
CLRはまさにそうなんだけど言語としてはなぁ
Delphi → J++ → C#
でどうよ?ヘジの歩みそのまま。

>>51
うん、多分LISPからパクったんだろう。でもJavaのもとまで
辿るとなると話がややこしくなりすぎるので。

54 :デフォルトの名無しさん:2006/12/12(火) 19:45:14
Object Pascalだろが禿!

55 :デフォルトの名無しさん:2006/12/12(火) 19:50:27
>>53
CLRはぜんぜんVB由来じゃないでしょ。
Java VMをもっと言語から独立させた感じだよね。

GCについてはどこからパクったとかじゃなくて、GCを備えた言語はそこらじゅうにあると言いたかっただけ。

56 :デフォルトの名無しさん:2006/12/12(火) 19:52:17
どうでもいいよハゲども

57 :デフォルトの名無しさん:2006/12/12(火) 20:00:04
>>55
>CLR
VB由来というかCOMだな。結局のところコンポーネント志向がこの形に
収束しただけ。VMが欲しかったわけでなく、欲しかったのは高記述な
バイナリだろう。
技術はほとんど同じになったんだがアプローチがまったく逆ってのが
面白いよなぁ


58 :デフォルトの名無しさん:2006/12/12(火) 20:01:19
>>47
ヘジルスバーグたんは、J#の開発にも関わってたのです当然です。

59 :デフォルトの名無しさん:2006/12/12(火) 20:01:50
J#じゃなかった、J++だった

60 :デフォルトの名無しさん:2006/12/12(火) 20:06:10
CLRのCOM由来説初めて聞いた…

61 :デフォルトの名無しさん:2006/12/12(火) 20:16:49
CLRでメタ処理系狙ったんじゃないの?

62 :デフォルトの名無しさん:2006/12/12(火) 20:29:55
ヘジルスバーグたんはどうしてこんなに委譲が好きなの?

63 :デフォルトの名無しさん:2006/12/12(火) 20:31:17
学会の流れ…

64 :デフォルトの名無しさん:2006/12/12(火) 20:39:16
Objective-C => java => C# ですよ、おのおの方。

65 :デフォルトの名無しさん:2006/12/12(火) 20:45:46
ラムダ式キター

66 :デフォルトの名無しさん:2006/12/12(火) 20:53:19
Objective-C は Smalltalk + C だすな。

67 :デフォルトの名無しさん:2006/12/12(火) 21:11:26
GCはGCでも、Java1.3以降のGC(HotSpot?名前を忘れた)に似たGCは.NETが初ではなかろうか

68 :デフォルトの名無しさん:2006/12/12(火) 21:15:56
JAVAもそのうちeventやプロパティ導入しないかな?

69 :デフォルトの名無しさん:2006/12/12(火) 21:31:06
デリゲートやクロージャ,プロパティが導入される予定
次は何だろうね

70 :デフォルトの名無しさん:2006/12/12(火) 21:35:25
enumやstructじゃない?

71 :デフォルトの名無しさん:2006/12/12(火) 21:38:56
struct は Java の思想とは相容れんだろう。
// と言いつつクロージャとかどうなんだって気もするけど。
enum は極言しちゃえば数値型の構文糖衣だから導入は簡単そうだな。

72 :デフォルトの名無しさん:2006/12/12(火) 21:46:14
プロパティは便利だよね。
見た目もいいし。
setNameとかgetNameなんてメソッド書きたくないよ。

73 :デフォルトの名無しさん:2006/12/12(火) 21:51:24
enumは既にJavaに導入されてるよ
定数じゃなくてクラス扱いだけどな
C#3.0の様子を見て,良さそうなのはまた真似するんだろうね

74 :デフォルトの名無しさん:2006/12/12(火) 21:55:48
C#にしてもJAVAにしてもトリッキーな仕様は取り込んで欲しくないな。

Cって意外と先見性があったんだな。
string型さえあれば寿命がもっと延びてたんじゃないかな。

75 :デフォルトの名無しさん:2006/12/12(火) 22:19:13
D言語ってどうよと思ってページ見たけど
次の部分みて萎えた。

void main(char[][] args)


76 :デフォルトの名無しさん:2006/12/12(火) 22:33:51
MSDN壊れてないか?
2回に1回はプレーンテキスト風になる。

77 :デフォルトの名無しさん:2006/12/12(火) 22:53:03
ラムダ式って=>の後ろを括弧で囲まなくていいんだな。
なんとなく見てて気持ち悪いんだが、
C#にはカンマ演算子とかないから問題ないんだろうか。

78 :デフォルトの名無しさん:2006/12/12(火) 23:15:44
delegate bool Foo(int n, int m);
bool Bar(Foo u, Foo v, int a, int b, int c, int d) { return u(a, b) && v(c, d); }
Console.Write(Bar((x, y) => x <= y, (z, w) => w >= z, 9, 4, 1, 7));

79 :デフォルトの名無しさん:2006/12/12(火) 23:20:55
C#で作ったアプリケーションを逆コンパイルできないようにはできない?

Microsoft.NET 2.0 SDK付属のMSIL 逆アセンブラで簡単に見えちゃうんですが、

80 :デフォルトの名無しさん:2006/12/12(火) 23:21:33
まあさすがにこういう変態コードはやめていただきたいものだな。
つか途中の不等号演算子が狙いすぎだw

81 :デフォルトの名無しさん:2006/12/12(火) 23:26:54
そんなコードがコンパイル通るのはperlくらいで十分だ。

l=i=>i>=1||i<=-1; ('A`)ヴァー

82 :デフォルトの名無しさん:2006/12/12(火) 23:27:57
>>76
たまに糞重くてスタイルシートが読み込まれないときがあるが。

83 :デフォルトの名無しさん:2006/12/12(火) 23:33:22
>>79
Reflectorで見るともっと面白いものが見られるぞ

84 :デフォルトの名無しさん:2006/12/12(火) 23:39:57
>>79
確かにそれが一番の問題なんだよなあ。

85 :デフォルトの名無しさん:2006/12/12(火) 23:40:50
>>79,84
ぜひDotfuscatorを30万円でお買い求めください。

86 :デフォルトの名無しさん:2006/12/12(火) 23:51:58
そういえばmonoではObfuscatorって作ってないのかな。


87 :デフォルトの名無しさん:2006/12/13(水) 00:07:59
だって「オープンソース」プロジェクトだから…

88 :デフォルトの名無しさん:2006/12/13(水) 00:42:51
だいたいソースなんか見えてもいいんだよ。
んなもん誰でも書けるんだから。

技術のない人間ほどそういうトコ気にするな。


89 :デフォルトの名無しさん:2006/12/13(水) 00:45:13
http://uwa.potetihouse.com/soft/nandoku.html
こんなん見っけた

90 :デフォルトの名無しさん:2006/12/13(水) 02:52:09
>>88
ソースはいいけど、知らずにパスワードや認証まで入れちゃうと大変
ってか実際そういうソフトがあるし…

91 :デフォルトの名無しさん:2006/12/13(水) 03:21:36
今までC++とかDelphiやってきたんですけど、C#はGCということで、特にメモリ解放の心配はしなくてもいいんですか?
なんか心配で・・・

92 :デフォルトの名無しさん:2006/12/13(水) 03:56:01
managedなリソースの開放は心配しなくても大丈夫です

93 :デフォルトの名無しさん:2006/12/13(水) 03:59:35
>>90
それデコンパイル以前の問題じゃないか

94 :デフォルトの名無しさん:2006/12/13(水) 11:25:00
C#の活気のあるコミュニティどっかにないですか?(´・ω・`)
VSUGのMSDNフォーラムもみな過疎ってる。英語可。

95 :デフォルトの名無しさん:2006/12/13(水) 17:43:46
ここ

96 :デフォルトの名無しさん:2006/12/13(水) 20:02:25
C#は好きだけどメインストリームはJAVAだということには変わりない。

97 :デフォルトの名無しさん:2006/12/13(水) 20:14:17
Javaは現代のCOBOL。

98 :デフォルトの名無しさん:2006/12/13(水) 20:20:53
先輩が言うには、JavaとDB(オラクル)使えたらくいっぱぐれないとのことです。

でもそれだけじゃ面白くない…

99 :デフォルトの名無しさん:2006/12/13(水) 20:22:51
Javaってプラットフォーム技術とプログラミング言語のどっちを指すんだ?

100 :デフォルトの名無しさん:2006/12/13(水) 20:28:13
>>97に関しては主な使われ方についての個人的なイメージ。
VBもそうかな。

101 :デフォルトの名無しさん:2006/12/13(水) 20:32:02
でもなんだかんだ言ってもアクセスが一番使われているような希ガス。

102 :デフォルトの名無しさん:2006/12/13(水) 20:49:24
キーから値を取り出せて値からもキーを取り出せる連想配列って無い?

103 :デフォルトの名無しさん:2006/12/13(水) 20:51:06
連想配列2こ使う

104 :デフォルトの名無しさん:2006/12/13(水) 20:51:44
やっぱ1コじゃ無理かぁ
dクス

105 :デフォルトの名無しさん:2006/12/13(水) 20:52:49
>>102
SortedList

106 :デフォルトの名無しさん:2006/12/13(水) 20:53:05
値は重複おkだから戻るキーも1つじゃないかもな。

107 :デフォルトの名無しさん:2006/12/13(水) 20:59:11
>>105
うちのPCヘルプ起動するのに3分かかるからちょっと待ってても

>>106
重複しない方向で

108 :デフォルトの名無しさん:2006/12/13(水) 21:00:27
>>105
無駄な処理入るから普通にDictionary二つ使ったほうがいいよ。

109 :デフォルトの名無しさん:2006/12/13(水) 21:10:46
IndexOfValue ??????

110 :デフォルトの名無しさん:2006/12/13(水) 21:14:55
う〜ん

インスタンスを2コ管理するのが面倒だから
SortedListを使ってみるよ

111 :デフォルトの名無しさん:2006/12/14(木) 07:50:45
インスタンスを2コ使うラップクラスを自分なら作る。

112 :デフォルトの名無しさん:2006/12/14(木) 15:59:39
サイコロみたいに1〜6を出すにはrandom.Next(0, 7)でいいですか?

113 :デフォルトの名無しさん:2006/12/14(木) 16:10:18
1,7 じゃね?

114 :デフォルトの名無しさん:2006/12/14(木) 16:14:43
フォームを閉じる際に確認メッセージを出そうと思い、FormClosingイベントが起こるとMessageBoxを出すように書きました。
このフォームに「アプリケーションを終了する」というメニューを追加したいと思います。
その是非を一度だけ聞いてApplication.Exit()を実行したいのですが、現在のやりかたではFormClosingイベントが途中で呼ばれてしまい、
アプリケーションの終了確認→フォームを閉じる確認と表示されてしまいます。
何か良い方法はないでしょうか。


115 :デフォルトの名無しさん:2006/12/14(木) 16:20:45
>>113
どうも

116 :デフォルトの名無しさん:2006/12/14(木) 16:23:38
>>114
アプリケーションを終了するメニューを選択したら、
その場合は、FormClosingの時のMessageBoxを出さないようにすればいいだけじゃん。
それか、Application.Exitじゃなくて、Environment.Exitでおだぶつさせるかじゃね。

117 :デフォルトの名無しさん:2006/12/14(木) 16:24:57
>>114
FormClosingEventArgs.Cancel

118 :デフォルトの名無しさん:2006/12/14(木) 16:26:44
>>116
追記だけど、ほかには、アプリケーションの終了確認なんてしないで、Application.Exit()を呼べばいいんじゃね。
したら、FormClosingの時に確認してくれるぜ。
FormClosingの時の確認を終了確認にすればいい。

119 :デフォルトの名無しさん:2006/12/14(木) 16:40:06
>>117
FormClosingEventArgs
e.CloseReason != CloseReason.ApplicationExitCall で
Application.Exit()をフィルタすることができました。
お目汚し失礼しました。

120 :デフォルトの名無しさん:2006/12/14(木) 17:19:33
>>114
http://jeanne.wankuma.com/tips/form/closingcancel.html

121 :デフォルトの名無しさん:2006/12/15(金) 09:30:29
>>119
CloseReasonてNET2.0から出てきたのか。便利だね。

122 :デフォルトの名無しさん:2006/12/15(金) 16:44:19
class A{
 private B b;
 private int num;
 public A(){
  b = new B();
  num = 10;
 }
 public int Num{ get{return num;} }
 public B B_instance{ get{return b;} }
}

class B{
 //public int Calc(int num){
 // return num*2;
 //}

 //public int Calc(){
 //ここでAのnumを使いたい
 //}
}

a = new A();
a.B_instance.Calc();
としたときに,Aのnumを使ってBのCalcを呼び出したいのですがどうすればいいでしょうか

a.B_instance.Calc(a.Num);
とすればAのnumを渡せますが冗長な気がします

123 :デフォルトの名無しさん:2006/12/15(金) 16:52:15
BをnewするときにAを渡しとく。

b = new B(this);

とか。

124 :122:2006/12/15(金) 17:07:10
なるほど.ありがとうございます.

125 :デフォルトの名無しさん:2006/12/15(金) 20:39:19
現在、キーボードやマウスによるキー入力を
どのデバイスから送られて来たのか判断した後、
場合によっては入力を握りつぶしたいと考えております。

デバイスを判断し、キーを取得するだけですと
WM_INPUTにてRawInputを使用することにより実現できたのですが、
キーを握りつぶすことが私の試行錯誤した上ではできませんでした。

キーを握りつぶそうとWH_KEYBOARD_LLをフックし、
WH_KEYBOARD_LLの時点でキーを握りつぶすとメッセージの順序の関係上だと思うのですが
WM_INPUTも呼ばれなくなってしまい、デバイスの識別ができないでおります。

他の処理も考え付かず、途方にくれている状態です。
WH_KEYBOARD_LLがWM_INPUTより先に呼ばれているならそこでデバイスを
識別できないかとも考えたのですが、私の調べた限りではできませんでした。

どうか皆様のお力を少しでもよいので貸していただけないでしょうか。
よろしくお願いいたします。

#なお、この質問は過去に他の所にて質問させていただきましたが、
解決策が得られなかったために、再度お尋ねさせていただいております

126 :デフォルトの名無しさん:2006/12/15(金) 20:44:35
WIN32APIの猛者どもに聞いたほうがよさそうだけどな。

そこでNG出されたの?

127 :デフォルトの名無しさん:2006/12/15(金) 20:47:33
いえ、多分そちらでは聞いていないかと。
もう少し適切な場所があるようでしたらそちらに移そうかと思うのですが

128 :デフォルトの名無しさん:2006/12/15(金) 20:52:36
移動されたようですな…

129 :デフォルトの名無しさん:2006/12/15(金) 21:00:11
ちょっとどのすれか自信ありませんでしたが、
ありがとうございました

130 :デフォルトの名無しさん:2006/12/15(金) 21:21:55
これはあなた?
あちこちたらい回しされて大変だね。

ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=33201&forum=7&0

131 :デフォルトの名無しさん:2006/12/15(金) 22:05:12
>>130
はい、私の質問です。
たらい回し、というよりも人にすがっているのは自分ですので
大変というよりも皆さんに迷惑がかからないかの方が心配で・・

132 :デフォルトの名無しさん:2006/12/16(土) 02:32:08
文字を大きく(32ポイントぐらい)文字の形をした影付きで描画したいんですが、影をどうやってつけたらいいんでしょう・・・(´・ω・`)


133 :デフォルトの名無しさん:2006/12/16(土) 02:42:56
自分で書けばいい

134 :デフォルトの名無しさん:2006/12/16(土) 07:23:19
コマンドプロンプトで
(コマンド) < (ファイルパス)
のようにコマンドにファイルを渡すのを、

Process proc = new Process();
proc.StartInfo.FileName = "(コマンド)";
string command = "< (ファイルパス)";

proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardInput = true;

proc.StartInfo.Arguments = command;

proc.Start();
proc.WaitForExit();

っとやっているのですが、うまくいきません。
どうすればいいのでしょうか?

135 :デフォルトの名無しさん:2006/12/16(土) 07:43:36
>>134ですが、コマンドプロンプトを利用して、以下のようにやってみました。
ただ、(コマンド)をフルパスで指定して、そのパスにスペースが入っているとうまく動きません
(コマンドがスペースで、きれて実行され、結果、そんなコマンド認識できないとなります。)
コマンドもファイルパスもダブルコーテションで囲んでいるのですが
それで、ファイルパスにはスペースが当っても大丈夫です。

Process proc = new Process();
proc.StartInfo.FileName = Environment.GetEnvironmentVariable("ComSpec");
string command = "\"(コマンド)\" < \"(ファイルパス)\"";

proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardInput = true;

proc.StartInfo.Arguments = String.Format(@"/C {0}", command);

proc.Start();
proc.WaitForExit();

136 :デフォルトの名無しさん:2006/12/16(土) 08:33:41
>>133 書き方教えてください・・・(´・ω・`)

137 :デフォルトの名無しさん:2006/12/16(土) 08:36:41
ちょっとずらした位置に重ねて2回描画すればいいだろ

138 :デフォルトの名無しさん:2006/12/16(土) 08:39:08
>>134
よく考えると、これはできなくて当然ですね…。
ねぼけてました。

>>135の方をお願いします。

139 :デフォルトの名無しさん:2006/12/16(土) 08:46:03
工エエェェ(´д`)ェェエエ工

140 :デフォルトの名無しさん:2006/12/16(土) 08:53:39
>>137 ぼかしたいんです・・・(´・ω・`)

141 :デフォルトの名無しさん:2006/12/16(土) 08:57:18
>>140
ずらして、片方の色を薄くする。

142 :デフォルトの名無しさん:2006/12/16(土) 09:18:52
>>141 それじゃぼけません・・・(´・ω・`)

143 :酔いちくれ ◆J0rwikii8c :2006/12/16(土) 09:33:08
>>142
どうしてもやりたいんなら、文字を描画したいコントロール
を継承したコントロールをつくって、OnPaintイベントを
オーバーロードする。

おくられてきたイベントPaintEventArgsのプロパティに
Graphics クラスがいるからそいつの弄ればグラデーション
っぽくなるかも。



144 :デフォルトの名無しさん:2006/12/16(土) 09:36:52
>>142
半分のサイズで描画したのを拡大したらぼけるんじゃね?

145 :デフォルトの名無しさん:2006/12/16(土) 10:57:36
>>142
WPFを使ってみれば?

146 :デフォルトの名無しさん:2006/12/16(土) 11:34:32
>>142
ウィンドウタイトルバーの文字に影がついてることを強引に前提として
themeAPIで描く


147 :デフォルトの名無しさん:2006/12/16(土) 12:50:02
>>134
リダイレクトはシェルの機能なんだから、
同じように普通にSTDINに叩き込めばいいじゃね?

Process proc = new Process();
proc.StartInfo.FileName = "コマンド";
proc.StartInfo.RedirectStandardInput = true;
proc.Start();
new BinaryWriter(proc.StandardInput.BaseStream).Write(File.ReadAllBytes("ファイル"));
proc.WaitForExit();

148 :デフォルトの名無しさん:2006/12/16(土) 15:01:30
C#にbison/flexやboost::spiritみたいなパーサジェネレータライブラリってありますか?

149 :デフォルトの名無しさん:2006/12/16(土) 15:24:16
隣接ピクセルとの平均値なりをピクセルにセットすればぼけるでしょ

150 :デフォルトの名無しさん:2006/12/16(土) 15:35:11
実用的な速度で出来ませんとか言い出すんじゃない?

馬鹿初心者に一言。
実装までは面倒見れません。

151 :デフォルトの名無しさん:2006/12/16(土) 17:09:44
>>150
そういうのは馬鹿なことを言い出してから言えよ。

152 :デフォルトの名無しさん:2006/12/16(土) 17:30:30
DirectXを使え

153 :デフォルトの名無しさん:2006/12/16(土) 17:32:24
GDI+で小さく描画して拡大したらマジぼやけるよw

154 :デフォルトの名無しさん:2006/12/16(土) 17:33:55
WebBrowserはっつけて、CSSのフィルタを適用する。

155 :デフォルトの名無しさん:2006/12/16(土) 17:55:00
>>135
標準入力を切り替えて呼び出せば?

156 :デフォルトの名無しさん:2006/12/16(土) 18:45:19
typedef void (CallbackType*)( ... );

void SetCallback( CallbackType t );

で、SetCallbackというのがDLLで宣言されてます。

この関数を使ってC#の関数をDLL側に渡したいんですが
こちら側の関数はどうやって渡せばいいんですか?
引数が明示的になってれば問題ないんですけど。

157 :デフォルトの名無しさん:2006/12/16(土) 18:47:22
delegate

158 :デフォルトの名無しさん:2006/12/16(土) 18:53:14
>>157
typedef void (CallbackType*)( int hoge );
とかなってる場合はいいんですけど
typedef void (CallbackType*)( ... );
この場合は?

159 :デフォルトの名無しさん:2006/12/16(土) 18:58:07
やったことないけど例えばこういうので丸くおさまったりしないのかな

void Callback(params int[] args);

みたいなの。

160 :デフォルトの名無しさん:2006/12/16(土) 19:09:16
実はそれで駄目だったもので質問に…。情報小出しですいません。
delegate void Callback( params object[] args );

うーん厳しそうだな。

161 :デフォルトの名無しさん:2006/12/16(土) 19:13:04
>>160
DLL側では実際には(...)のところには何が来ることを望んでんの?
全部intとか、全部boolとか、なんかしら決まりがあるはずだよね。
それにあわせないとだめなんじゃないの?

162 :デフォルトの名無しさん:2006/12/16(土) 19:20:22
>>161
あーそうか。確かにそうですね。
どういう風な値が(...)に入ってくるかを確認してきます。
ありがとうございます。

163 :デフォルトの名無しさん:2006/12/16(土) 19:21:45
とか言っても全部想像だけどな・・・

164 :デフォルトの名無しさん:2006/12/16(土) 19:23:55
>>156ってtypedefする意味あるのか?

165 :デフォルトの名無しさん:2006/12/16(土) 19:27:26
>>164 読みやすいかなと思ってやっただけなので深い意味はないです。

166 :デフォルトの名無しさん:2006/12/16(土) 19:40:15
調べてきたらユーザーにprintfの実装を任せるためのインタフェイスでした。
(標準出力以外に出力したいときに使ってくれ、ってことらしい)
って事は静的に型を決めるのは無理ですね…

167 :デフォルトの名無しさん:2006/12/16(土) 19:40:28
可変長引数ってことは CallingConvention.Cdecl が必須だな。
CallingConvention 列挙体の項目にあるサンプルコード見る限り、
使いたい引数ごとにそれぞれ宣言するらしい。

168 :167:2006/12/16(土) 19:42:45
と、デリゲート側か。
2.0 で UnmanagedFunctionPointer 属性が追加されたからそっち。
多分 1.1 までじゃ対応できない。

169 :デフォルトの名無しさん:2006/12/16(土) 20:35:14
>>167-168
delegate側にUnmanagedFunctionPointer属性で行けました、ありがとうございます。
結局こうなりました。

[UnmanagedFunctionPointer( CallingConvention.Cdecl )]
public delegate void PrintCallback( string format, string str );

実はDLLのソースを見たら、フォーマットに"%s"と可変長引数に文字列1つしか
渡されてなかったので、これで上手くいってしまったわけですが…
(ライブラリを弄って良いならそっち側を直すほうが楽でしたね)

とりあえず問題自体は解決したのですけど
このままだと可変長引数を受け取るということは出来てないですね。

170 :デフォルトの名無しさん:2006/12/17(日) 00:22:58
>>148 ANTLR
>>150 実装までって・・・おまいアイデアすらいってないじゃん。

171 :デフォルトの名無しさん:2006/12/17(日) 13:29:28
>170
ありがとう

172 :デフォルトの名無しさん:2006/12/18(月) 19:09:53
適切なスレが分かりませんでしたので、ここで相談します。
自分のソフトに埋め込まれたWindows Media PlayerのActive Xコントロールから
スクリーンショットを取りたいのですが、方法が分かりません。教えてください。

173 :デフォルトの名無しさん:2006/12/18(月) 20:51:25
デバイスコンテキスト取得してBitmapに描画

と思ったらWMPか。
オーバーレイとかだったらだめなんじゃね?
Vistaならともかく

174 :デフォルトの名無しさん:2006/12/18(月) 20:57:02
DVDの静止画キャプチャーするの?
大体そんなとこだろ?

175 :デフォルトの名無しさん:2006/12/18(月) 21:04:38
DirectShowの勉強する?

176 :デフォルトの名無しさん:2006/12/18(月) 21:20:24
オーバーレイ切ったらスクリーンショット取れるがね

177 :デフォルトの名無しさん:2006/12/18(月) 21:21:40
DVDのソフトにもよるが、オーバーレイ切れないのもあるよ!

178 :デフォルトの名無しさん:2006/12/18(月) 21:24:37
>>177
先に、MediaPlayerで動画再生、
次にDVDソフト再生(゚Д゚)ウマー

179 :デフォルトの名無しさん:2006/12/18(月) 21:39:35
ソフトの設定ちゃうわ!

180 :デフォルトの名無しさん:2006/12/18(月) 22:42:03
>>178
をやると、体外オーバーレイは一枚しか表示できないので、
二つ目のソフトは、オーバーレイではなく、普通に表示できて、コピーできるんですよね。

181 :デフォルトの名無しさん:2006/12/18(月) 23:07:48
何だそれ…

182 :デフォルトの名無しさん:2006/12/18(月) 23:56:57
>>180
体外オーバーレイって、試験管ベイビー作る時のやつ?

183 :デフォルトの名無しさん:2006/12/19(火) 00:20:11
MediaPlayerのActiveXなら、2つ貼り付ければ、片方が非オーバーレイでキャプチャできるようになる。

184 :デフォルトの名無しさん:2006/12/19(火) 00:41:14
メモリが大変になりそうやん……

185 :デフォルトの名無しさん:2006/12/19(火) 00:43:04
DVDはソフト二つ入れないと2個再生できないYO

186 :デフォルトの名無しさん:2006/12/19(火) 08:28:57
質問させてください。

Susie用に画像処理プラグインを書こうかと思ったのですが、
C#では従来のネイティブアプリから読めるDLLを組むことはできるのでしょうか?
普通のDLLを呼ぶにはDllImportでよいと思うのですが、逆がわかりません。

187 :デフォルトの名無しさん:2006/12/19(火) 09:18:54
>>186
_
間にネイティブなDLLがなんかいる

188 :デフォルトの名無しさん:2006/12/19(火) 10:41:09
>>175
それが一番手っ取り早い方法なりそうですね。
お答えいただいた皆さん、ありがとうございました。

189 :デフォルトの名無しさん:2006/12/19(火) 12:39:54
C#でC/C++のFindFirstFileやFindNextFileみたいなことをやるには何を使えばいいんでしょう?

最近C#使い始めたばかりうまくヘルプ活用できない・・・

190 :デフォルトの名無しさん:2006/12/19(火) 13:10:05
Directory.GetFiles(String, String, SearchOption) かな?
全部返ってくるけど。
とりあえずSystem.IO以下を眺めるべし


191 :デフォルトの名無しさん:2006/12/19(火) 14:05:12
>>186
http://support.microsoft.com/kb/815065/ja

192 :189:2006/12/19(火) 14:28:54
>>190
ありがとうございます。やれそうです。

193 :デフォルトの名無しさん:2006/12/19(火) 15:05:22
WebBrowserコンポーネントのBeforeNavigate2イベントでどのようなHTTP POSTが発生したか記録したいんだけど、
enctype="multipart/form-data"なformで <input type="file"/>なタグがあった場合に、PostDataのMIMEの中身が
ファイルタグなデータの前で切れてしまうんだけど。ファイルタグが無い場合は完璧に補足可能。
この方法でやったことある人いる??

194 :デフォルトの名無しさん:2006/12/19(火) 17:40:27
>187さん、>191さん、返信ありがとうございます。
逆 PInvokeはちょっと避けたいかな・・・

"間にネイティブなDLLがなんかいる"のとこをもうちょっと詳しくお願いできませんか?

195 :デフォルトの名無しさん:2006/12/19(火) 17:54:02
>>194
マネージドライブラリをCOMに公開して、ネイティブなDLLで橋渡しをする。

196 :デフォルトの名無しさん:2006/12/19(火) 22:29:54
>>194
純ネイティブからマネージコードを使う手は2つ。
COM相互運用機能とCLRホスティング。どっちか使って
橋渡しをするDLLを作るだけ。

197 :デフォルトの名無しさん:2006/12/19(火) 23:13:29
ただし、1つのプロセスにロードできる.NETのバージョンは1つだけなのに注意しとく。
Susieみたいにプラグインで読み込まれるdllが.NETをロードするとかなり危険な予感。

198 :デフォルトの名無しさん:2006/12/19(火) 23:16:52
>>188
絶対遠回りです。

199 :デフォルトの名無しさん:2006/12/19(火) 23:22:07
>>197
よーし、パパ専用プロセス立ち上げて通信しちゃうぞ。
ああ、でもなんか一番いい方法な気がしてきた。専用プロ
セス用のはフルマネージでいいし。パフォーマンス以外は。

200 :デフォルトの名無しさん:2006/12/19(火) 23:33:00
>>197
それって、フルマネージドなアプリでも、.NETのバージョンがEXEとDLLで
違うなんてこと有るよね??

201 :デフォルトの名無しさん:2006/12/19(火) 23:36:08
Susie用に画像処理プラグイン書くならC++使えよ。
マジレスごめん

202 :201:2006/12/19(火) 23:37:28
すまそ、誤爆

203 :デフォルトの名無しさん:2006/12/19(火) 23:40:48
>>200
当然 CLR は起動したのに従ったバージョンがロードされる。
より古いバージョンの CLR をターゲットにした DLL はなんとか動かそうとするし、
より新しいバージョンの CLR をターゲットにした DLL は普通ロード失敗する。

204 :デフォルトの名無しさん:2006/12/19(火) 23:45:27
なんでこの板ID無いんだ?

205 :デフォルトの名無しさん:2006/12/19(火) 23:47:36
       , '´         :::::::::::ヽ、
      /     ,/ ||| \,  ::::::::::ヽ
      |   =="       `== ::::::::|
      |   -=・=-′ ヽ-=・=- :::::::::|
      |               ::::::::::|   え?
      |     (_人_)   ::::::::|
       'ヽ__        :::::::::::/


206 :デフォルトの名無しさん:2006/12/19(火) 23:49:07
>>204
つ[チラシの裏]

207 :206:2006/12/20(水) 00:06:33
すまそ、誤爆

208 :デフォルトの名無しさん:2006/12/20(水) 00:16:17
すみません。C#でCheckBox付きTreeViewを使ったときに、
ツリーのノードのクリックでチェックのon/offを切り替えるようにしたいのですが、

OnNodeClickで
CheckValue = !CheckValue :こんな感じ
でやっています。これだと、文字の部分のクリックしたときはちゃんと動くのですが
チェックボックスのところをクリックすると、この処理+デフォルトの処理が動いてしまい、
結局もとの状態に戻ってしまいます。
何か良い方法はありませんか?

209 :デフォルトの名無しさん:2006/12/20(水) 00:21:21
HitTest とか?

210 :デフォルトの名無しさん:2006/12/20(水) 00:56:44
dataGridViewで選択したcellの背景色を変えるんじゃなくて、
選択枠を付けたいのですがどうすれば良いのでしょうか?
dataGridViewを継承したコントロール作ったは良いが、完全にお手上げぽ…

211 :デフォルトの名無しさん:2006/12/20(水) 00:57:57
プログラムのプの字も知らない奴です
C#.Netを勉強しろって言われたんですがC#とどう違うんでしょうか?
C#だけ勉強すればいいんでしょうか?
基本以下のことですがお願いします

212 :デフォルトの名無しさん:2006/12/20(水) 01:02:16
だいたい一緒

213 :208:2006/12/20(水) 01:09:27
>209
HitTest???
HitTestでCheckBoxのObjectが取れるってことですか?

214 :211:2006/12/20(水) 01:09:50
・・・だいたい一緒っすか
とりあえずプログラムの事なんも知らんのでC#勉強しときます

215 :デフォルトの名無しさん:2006/12/20(水) 01:21:43
>>211
C#は、.NETフレームワーク上で動く言語なわけで。
C#を勉強したら、.NETを勉強したことにもなるわけで。

216 :211:2006/12/20(水) 01:24:33
>>215
あ、そうなんすか?
これでようやく気持ちよくC#が学習できます
ありがとうございました

217 :デフォルトの名無しさん:2006/12/20(水) 10:41:58
おはやう!

218 :デフォルトの名無しさん:2006/12/20(水) 10:46:21
なんかよく分からんがおはよう
ネタがあったら供給汁

219 :デフォルトの名無しさん:2006/12/20(水) 12:51:05
C#の実行速度ってVC>C#>VBって感じですか?


220 :デフォルトの名無しさん:2006/12/20(水) 12:54:58
>>219
VCとVBは.Net無し?

221 :デフォルトの名無しさん:2006/12/20(水) 12:55:26
VC>MC++>=C#=VB.NET>=VB ってとこじゃね?

222 :219:2006/12/20(水) 13:08:55
>>220 .netです
>>221 MC++ってVC.net?ってことですか?


223 :デフォルトの名無しさん:2006/12/20(水) 13:13:51
Managed C++は、VC++.NETのこと。

224 :デフォルトの名無しさん:2006/12/20(水) 13:18:07
C++/CLI >= MC++ >= C# = J# = VB.NET >= VB

225 :219:2006/12/20(水) 13:30:53
>>ALL
レスどうもです
C#>VB.NETだと思ってたんですけど違うみたいですね

もうひとつ質問があるんですけど、C#でソフト作ってもう少し処理速度を
上げたいなぁと思ったら結構簡単に?(C#でソフトを作れたくらいの段階ですが)
MC++に処理部分を変更したりできますか?(GAをしてみたいんです)
また変更するのはどのようなキーワードでググレばいいんですか?
調べたんですが言語の説明とかしかなくて分からないんです…

226 :219:2006/12/20(水) 13:33:01
書きわすれましたがC、Javaは勉強しました。 
Javaは本を読んだくらいです

227 :デフォルトの名無しさん:2006/12/20(水) 13:38:44
>>225
C#もVB.NETも結局の出力結果はMSILのアセンブリだからね。

C#とC++は全く別の言語だから混ぜるのは無理。
新しいプロジェクトを作って何らかの方法でリンクすればいい。

228 :デフォルトの名無しさん:2006/12/20(水) 13:42:23
>>225
unsafe

http://www.atmarkit.co.jp/fdotnet/csharp_abc/csharp_abc_021/csharp_abc01.html

229 :デフォルトの名無しさん:2006/12/20(水) 13:49:36
それ以前に書く奴の知識の量が影響するからたぶんお前はなに使っても
大して変わらないと思う。C++にしただけで自動的にすごく早く
なったりしないよ?


230 :デフォルトの名無しさん:2006/12/20(水) 13:55:23
>>255
俺の主観では、

ゲームとか、画像処理とかの特殊なことを除けば、
あんまり、C++とか気にしなくていいと思う。

多くの場合レスポンスのボトルネックとなる部分は全体の極一部。
C#の処理の見直しで対策可が多いと思うが、
どうしてもって場合に、unsafeに移るってぐらいかな?

231 :210:2006/12/20(水) 14:07:03
漏れにも愛の手を…まだできないorz

232 :219:2006/12/20(水) 14:11:38
>>ALL
レスどうもです とりあえず本買ってきて作ってみます 
>>229 自動的に早くなるんだと思ってました 自由度が大きいから
プログラマのレベルしだいで早くなるんですね

みなさんありがとうございました



233 :デフォルトの名無しさん:2006/12/20(水) 14:13:58
どこで詰まってるんだ?
ControlPaint.DrawFocusRectangle 見てみたか?

234 :デフォルトの名無しさん:2006/12/20(水) 16:41:32
PreviewKeyDownとふつうのKeyDownはどう使い分けるのでしょうか?
PreviewKeyDownがKeyDownよりも先に呼ばれるのはわかるのですが・・・。

235 :デフォルトの名無しさん:2006/12/20(水) 19:31:18
eventarg

236 :デフォルトの名無しさん:2006/12/20(水) 21:57:26
たとえば、XXLというライブラリを自分で作ったとします。
そのとき、XXLというライブラリにはDirectXなどの参照設定をしているとします。
他のプロジェクトからそのライブラリのプロジェクトをインポートして使うときに、今はこの機能はいらないからDirectXの参照をナシにしたい!
と言ったことを、ライブラリのプロジェクトを変更することなくできるでしょうか?
もしくは、ビルドオプションみたいに今回はDirectXに参照しないと言ったことを。
個別に別々のライブラリ作る方法しか無いのでしょうか?

237 :デフォルトの名無しさん:2006/12/20(水) 22:11:14
ライブラリを分ければいいんじゃね?

238 :デフォルトの名無しさん:2006/12/20(水) 22:22:39
DirectX が要不要ってのは、一つのアセンブリとして大きすぎる感じがあるな

239 :210:2006/12/20(水) 22:52:14
>>233
こんな感じで書いてるんですけど、選択範囲を変えても最初の位置から動いてくれないです。。。

protected override void OnPaint(PaintEventArgs e)
{
Graphics g = this.CreateGraphics();
Size s = new Size(100, 50);
ControlPaint.DrawFocusRectangle(g, new Rectangle(this.CurrentCellAddress, s), Color.Red, Color.Yellow);

base.OnPaint(e);
}

240 :デフォルトの名無しさん:2006/12/20(水) 22:57:20
>>239
CurrentCellAddressってセルのインデックスだろ。座標じゃない。

241 :デフォルトの名無しさん:2006/12/20(水) 23:20:04
>>237
>>238
どうもです。やっぱりライブラリ分離した方がいいのかな。

242 :デフォルトの名無しさん:2006/12/20(水) 23:43:43
>>239
GraphicsをなんでPaintEventArgs からとらないのさ?
base.OnPaintは前に持ってきた方がいくない?


243 :デフォルトの名無しさん:2006/12/21(木) 00:14:26
>>240>>242
わかった!ありがとう!!
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);

Point p = new Point(this.CurrentCellAddress.X * 100, this.CurrentCellAddress.Y * 45);
Pen BluePen = new Pen(Color.Blue, 2f);
e.Graphics.DrawRectangle(BluePen, p.X, p.Y, 100, 45);
}
一応動いてはいるのですが、おかしな点はないでしょうか?

244 :デフォルトの名無しさん:2006/12/21(木) 00:20:52
>>243
PenオブジェクトはDisposeしないとダメ
using (Pen BluePen = new Pen(Color.Blue, 2f))
{
e.Graphics.DrawRectangle(BluePen, p.X, p.Y, 100, 45);
}

245 :デフォルトの名無しさん:2006/12/21(木) 00:27:03
100 だの 45 だの決め撃ちで良いんだろーか

246 :デフォルトの名無しさん:2006/12/21(木) 00:35:20
>>243
カラムヘッダとかボーダーとかで位置ずれてないのか?
というか、スクロールしたらずれるだろ。

247 :デフォルトの名無しさん:2006/12/21(木) 00:36:49
>>243
CellPaintingイベント使いなさい。

248 :デフォルトの名無しさん:2006/12/21(木) 00:49:53
>>244>>247
助言ありがとうございます。
了解です!

>>246
取りあえずヘッダーVisibleをfalseにして使ってます…



249 :デフォルトの名無しさん:2006/12/21(木) 17:01:29
CheckedListBoxの項目をコード(Add)で追加したときに表示するテキストを変更する方法ってないですか?

現状、System.Objectしか表示できないです

250 :249:2006/12/21(木) 17:07:33
自己解決しました。
普通にAddの引数に文字列入れればいいみたいです。
Objectってそういうもんなのか・・・

251 :デフォルトの名無しさん:2006/12/21(木) 17:14:34
>>250
ObjectをToStringして表示してる。
だから、DateTimeとかEncodingとかも気にせずそのまま突っ込める。

252 :デフォルトの名無しさん:2006/12/21(木) 17:58:58
ツールボックスに並んでいるWindowsフォームを使用した画面絵がずらっと並んでいる、
そんなHPとか書籍ないですか?

今までC++Builderを使っていたのでそれほど抵抗なくC#に移行できました。
なので後は必要なときに適切なフォームをチョイスしてピンポイントで調べて使えばいいかな
と思っているのですが、知らなきゃ選びようがないし、
全部見てみるというのも時間がかかりそうだし、使うときには忘れていそうで。

もし、知ってるよ、という方がいたら是非教えて下さい。

253 :デフォルトの名無しさん:2006/12/21(木) 18:32:17
先に日本語の勉強を何言ってるのか不明です。
煽ってるわけじゃないよ。
協力できることはしたいが、俺には何言ってるかわからない。

254 :デフォルトの名無しさん:2006/12/21(木) 18:34:37
標準で使えるコントロールを一通り図入りで紹介してくれって言ってるんじゃね?

255 :253:2006/12/21(木) 18:34:42
俺も日本語勉強したほうがいいな

256 :どっとどす:2006/12/21(木) 18:35:27
VisualC#.Netでプログラムを組んでます。

その中でIBatisというDLLを活用してますが、

そのIBatisのヴァージョンを上げたら、

「プロジェクト〜の依存関係 〜 Culture=neutral, PublicKeyToken=〜 は、
依存関係 〜 Culture=neutral, PublicKeyToken=〜 と競合するため、
実行ディレクトリにコピーできません。」

上記のようなエラーメッセージが出ました。

依存関係とか競合の意味が解らないので問題を解決する方法を教えてください。



257 :デフォルトの名無しさん:2006/12/21(木) 18:35:48
和訳してみると、コモンコントロールのスクリーンショットがみたい、じゃなかろうか。

258 :デフォルトの名無しさん:2006/12/21(木) 18:36:54
>>256
一度参照を削除して、出力ディレクトリから古いDLLを削除する。

259 :デフォルトの名無しさん:2006/12/21(木) 22:15:50
っていうほどコモンコントロール多くないし
かゆいところに届きそうでもっとかゆくなる

260 :デフォルトの名無しさん:2006/12/21(木) 23:02:56
お兄ちゃんが隅々まで掻いてあげるから
こっちへおいで

261 :デフォルトの名無しさん:2006/12/21(木) 23:17:44
キモッ




チイイ

262 :デフォルトの名無しさん:2006/12/21(木) 23:56:40
くやしい、コモンコントロールなんかに…ビクビク

263 :デフォルトの名無しさん:2006/12/22(金) 10:20:44
コモンコン
トロール

264 :デフォルトの名無しさん:2006/12/22(金) 16:44:05
複数のActiveX(Media Playerなど)を貼り付けて使用しています。(VS2005)

通常の「フォーム」の場合は、複数張り付いていても、
フォームの xxx_Load イベントは、1回しか呼ばれません。

しかし、「ユーザーコントロール」に複数貼り付けると、
ユーザーコントロールのxxx_Load イベントが、
貼り付けたActiveXの個数回呼ばれてしまいます。

どうやらEndInitが呼ばれたタイミングでこうなっているようです。

これは、どういうことでしょうか?
回避方法はあるのでしょうか?


265 :デフォルトの名無しさん:2006/12/22(金) 17:59:26
MDIで子ウィンドウを生成するときに、
既にその子ウィンドウが生成されていればActiveして、
生成されていなければnewする。

ということをやりたいのですが、
子ウィンドウを閉じた後の挙動がよくわからないのでどうしようか迷っています。

メモリは解放されていないようなので、何かメソッドを呼んでやればいいのか。
それとも、メモリ解放のタイミングがまだ来ていないだけで後で勝手にされるものだから、気にせずにnewし直していいのか。

とりあえず今はIsDisposedプロパティを見てnewするかActiveにするかやっています。
このやり方で正しいのでしょうか?

266 :デフォルトの名無しさん:2006/12/22(金) 18:11:18
子フォームのFormClosedイベントを捕まえて,
フラグ立てるなり参照にnullを代入するなりしとけば

267 :253:2006/12/22(金) 19:45:58
>>264
これはいいことを聞いたw
ActiveX複数貼ってもイベント1回しか起こらなくて困ったことが
あったんだが、ユーザーコントロールに貼ればいいんだな。

ありがとう!


268 :デフォルトの名無しさん:2006/12/23(土) 00:45:24
よくこういうソースを見かけるんですが、
System.IO.StreamReader sr = new System.IO.StreamReader("test.txt");
try
{
Console.WriteLine(sr.ReadToEnd());
}
finally
{
sr.Close();
}
ファイルが存在しないときや排他的に開かれているときの
例外も捕捉したいようなときはどうしたらいいんでしょうか?

269 :デフォルトの名無しさん:2006/12/23(土) 00:55:40
5種類の仕事と5人の人がいて、5種類の仕事を行うコストが個人で異なる。
この様な場合、誰にどの仕事を行わせることがもっとも低コストで仕事が
行えるか求めるフローチャートを作成しなさい、計算方法は、全ての組み合わせ(順列)を求める。その中から最も低コストとなる仕事の割り当てを得る(腕ずく法;Brute Force Method)。なお、最低コストが複数ある場合は、最後に判明した組み合わせのみを表示すればよい。
人1人2人3人4人5
仕事A1057128
仕事B1420151015
仕事C1830202522
仕事D358182012
仕事E201381017
できる人いませんか?


270 :デフォルトの名無しさん:2006/12/23(土) 00:56:34
5種類の仕事と5人の人がいて、5種類の仕事を行うコストが個人で異なる。
この様な場合、誰にどの仕事を行わせることがもっとも低コストで仕事が
行えるか求めるフローチャートを作成しなさい、計算方法は、
全ての組み合わせ(順列)を求める。その中から最も低コスト
となる仕事の割り当てを得る(腕ずく法;Brute Force Method)。
なお、最低コストが複数ある場合は、
最後に判明した組み合わせのみを表示すればよい。
人1人2人3人4人5
仕事A1057128
仕事B1420151015
仕事C1830202522
仕事D358182012
仕事E201381017
できる人いませんか?


271 :デフォルトの名無しさん:2006/12/23(土) 00:57:44
>>268
tryの中でファイルを開かないと意味ないでしょうが。

try{
    using(StreamReader sr = new StreamReader("test.txt"))
    {
        Console.WriteLine(sr.ReadToEnd());
    }
}
catch(FileNotFoundException e) { }
catch(UnauthorizedAccessException e) { }

272 :デフォルトの名無しさん:2006/12/23(土) 00:58:43
5種類の仕事と5人の人がいて、5種類の仕事を行うコストが個人で異なる。
この様な場合、誰にどの仕事を行わせることがもっとも低コストで仕事が
行えるか求めるフローチャートを作成しなさい、計算方法は、全ての組み合わせ(順列)を求める。その中から最も低コストとなる仕事の割り当てを得る(腕ずく法;Brute Force Method)。なお、最低コストが複数ある場合は、最後に判明した組み合わせのみを表示すればよい。
人1人2人3人4人5
仕事A10、5、7、12、8
仕事B14、20、15、10、15
仕事C18、30、20、25、22
仕事D35、8、18、20、12
仕事E20、13、8、10、17
できる人いませんか?


273 :デフォルトの名無しさん:2006/12/23(土) 00:59:19
スレ違いの上にマルチかボケ

274 :デフォルトの名無しさん:2006/12/23(土) 10:24:10
>>271
>>268じゃないけど…
それって、usingステートメント内で例外が発生したら、usingの外のcatchで大丈夫なの?

それとも、中にもtry-catchいる?下みたいに。
try{
    using(StreamReader sr = new StreamReader("test.txt"))
    {
        try{
            Console.WriteLine(sr.ReadToEnd());
            .......
        }
        catch(System.Exception){ }
    }
}
catch(FileNotFoundException e) { }
catch(UnauthorizedAccessException e) { }

275 :デフォルトの名無しさん:2006/12/23(土) 10:27:27
using は 例外を catch しない。

276 :デフォルトの名無しさん:2006/12/23(土) 10:31:10
外から囲むだけでおk

277 :デフォルトの名無しさん:2006/12/23(土) 10:41:54
>>275-276
即レス、サンクスです。

278 :デフォルトの名無しさん:2006/12/23(土) 13:22:44
>>272
宿題は早く終わらせようねw

279 :デフォルトの名無しさん:2006/12/23(土) 17:28:18
>>274
てか、キャッチしてなにしたいかによるわな。
usingはfinallyを使うだけで、例外には一切触らない。

280 :デフォルトの名無しさん:2006/12/23(土) 18:38:13
最小コストの求め方は教えてくれませんか?

281 :デフォルトの名無しさん:2006/12/23(土) 18:42:36
教えてあげません

282 :デフォルトの名無しさん:2006/12/23(土) 18:46:15
つーか数学の問題だろ

283 :デフォルトの名無しさん:2006/12/23(土) 18:49:41
>>280
(1) 全ての組み合わせ(順列)を求める。
(2) その中から最も低コストとなる仕事の割り当てを得る。
(3) 最低コストが複数ある場合は、最後に判明した組み合わせのみを表示。

284 :デフォルトの名無しさん:2006/12/23(土) 18:51:27
問題自体に求め方書いてあるだろハゲ
C#と関係ないんだよ文盲
馬鹿が伝染るんだよ池沼
もう来るなよ低能
コストの配列5個作ってループで5!回計算して最低値をとっておけばいいだけだと思います

285 :デフォルトの名無しさん:2006/12/23(土) 18:52:34
宿題スレ逝ってくれよ頼むから

286 :デフォルトの名無しさん:2006/12/23(土) 18:53:08
優しい奴多杉w

287 :デフォルトの名無しさん:2006/12/23(土) 20:59:32
一昨日から初めて、プログラムにさわったので、バカですみませんでした。

288 :デフォルトの名無しさん:2006/12/23(土) 21:01:07
フローチャート書けとかプログラミング関係ないでしょ

289 :デフォルトの名無しさん:2006/12/23(土) 21:03:58
つ【線形計画法】

つ【乱数】

どっちでも好きな方を選んどけ

290 :デフォルトの名無しさん:2006/12/23(土) 21:04:31
フローチャートって高校の時に書かされたな。
紙に書くとかアホかって思いながら課題こなした覚えが。

291 :253:2006/12/23(土) 21:09:18
今度は初心者スレに来たよ…

292 :デフォルトの名無しさん:2006/12/23(土) 22:43:52
treeViewを使ってて、indexが1で、かつ、nameがnode1の
ノードを選択状態でフォームを起動したいのですが、どうすればいいのでしょうか?
お願いします。

293 :デフォルトの名無しさん:2006/12/23(土) 22:46:18
普通にコード書く。
終了。


294 :デフォルトの名無しさん:2006/12/23(土) 22:46:27
その条件に合致するのを探せばいい
で、何が分からないのよ

295 :デフォルトの名無しさん:2006/12/23(土) 22:47:48
ふらっとC♯, C#(初心者用) Part11
http://pc8.2ch.net/test/read.cgi/tech/1166240484/

296 :デフォルトの名無しさん:2006/12/23(土) 22:51:21
>>292
フォーム起動時じゃない場合(ボタンを押すなどね)は自分で出来るの?

297 :デフォルトの名無しさん:2006/12/23(土) 22:53:57
ここのところレベルの低い質問ばかりで寂しい

298 :デフォルトの名無しさん:2006/12/23(土) 22:55:13
裾野が広がったということで…

299 :デフォルトの名無しさん:2006/12/23(土) 22:56:32
プロパティウィンドウだけじゃ出来ませんよ。

300 :292:2006/12/23(土) 22:56:33
フォーム起動時で何も選択されてないのに、
this.Setting_treeView.SelectedNode = this.Setting_treeView.SelectedNode.Nodes["Keyname"];
なんていう馬鹿なことをしていたのが原因で、はまってました。
低レベルで、お騒がせしました。死んできます…。

301 :デフォルトの名無しさん:2006/12/23(土) 22:59:51
GCされちゃえばいいのに…

302 :デフォルトの名無しさん:2006/12/23(土) 23:45:58
んじゃ、ぷらっとの未解決。本人じゃないけど

自分でもやってみたけど、
SupportsTransparentBackColor使ってみたけどだめ。
けっこう需要はありそうと思うけど。

13 名前:デフォルトの名無しさん[sage] 投稿日:2006/12/16(土) 19:25:34
>>12

フォームの背景だけを半透明にしてその上に文字をクッキリ表示させたいと思い、
フォームのOpacitを50%にし、そのフォームにLabelを配置したのですが
Labelの文字まで半透明になってしまいます。
何か良い解決方法はないでしょうか?

303 :デフォルトの名無しさん:2006/12/23(土) 23:53:44
>>302
Formを2枚重ねる。

304 :デフォルトの名無しさん:2006/12/23(土) 23:57:57
>>302
なんちゃってだけど

0)Form1とForm2を用意する。Form1にはラベルとか貼り付ける。
1)Form1 のTransparencyKeyを設定する。とりあえずSystemColors.Control
2)Form1のコンストラクタで、Form2をOpacity =0.5でShow()する。
3)Form1に以下のコードを追加する。

protected override void OnMove( EventArgs e )
{
    this.form2.Location = this.Location;

    base.OnMove( e );
}

protected override void OnResize( EventArgs e )
{
    this.form2.Size = this.Size;
    base.OnResize( e );
}

Form2をアクティブにするとおかしくなるので、そこらへん小細工してちょ

305 :デフォルトの名無しさん:2006/12/24(日) 00:01:00
>>303
それは、やってないんだが、
Formの上にパネルをDockFillしたのはやった。

Formに描いた背景の半透明は可能
FormをTransparentkey使って、デスクトップを見ようとするんだけど、
デスクトップはどうやっても見えなかった。
MSDN見ると、SupportsTransparentBackColorは親のコントロールに描画を
委譲し半透明化処理するようだから、デスクトップに対してはだめなんかと。

306 :デフォルトの名無しさん:2006/12/24(日) 00:07:17
Form2に

protected override void OnActivated( EventArgs e )
{
    this.form1.Activate();
}

でいけるかも

307 :デフォルトの名無しさん:2006/12/24(日) 00:09:54
>>304
最初、意味分からなかった。
う〜ん、出来そうだけどトリッキーすぎないか?

308 :デフォルトの名無しさん:2006/12/24(日) 00:15:13
>>305
だから、トップレベルウィンドウを2つ作らないと意味ないの。
2000で色々できるようになったけど、パーピクセルで柔軟にうにうには
できない(と思う…俺はWin32の鬼ではないので間違っているかも)。

…まぁなんか変な手法なので汎用化できない、と思うかもしれないけど、
俺は数日くれればデザイナ対応のそんなフォーム作れるな、と実装見繕れた
程度なんでがんばれ。

309 :302:2006/12/24(日) 00:24:41
305と307です。

>>308
Thx

MDIはやったこと無かったので、試してない。
あと期待してたのが、やっぱWin32。

誰か、詳しい人どお。
落ちるけど、ちょくちょくのぞかせてもらいます。

310 :デフォルトの名無しさん:2006/12/24(日) 00:28:11
>>309
MDIじゃなくて…だからFormをトップレベルに2枚作るの。
基本的には >>304 とまったく一緒。

311 :デフォルトの名無しさん:2006/12/24(日) 00:34:27
>>310
>>304がMDIを意味しないことは理解してるよ。
まったく、重なった位置にFormを重ねましょうという意味だと受け取ってるんだけど。

で、MDIを聞いたのは、自分が扱ったことなかったから、
出来るか出来ないかを確認したかっただけです。

>MDIじゃなくて…
ってことは、だめと受け取っていいのかな?

312 :デフォルトの名無しさん:2006/12/24(日) 00:40:17
Vistaならなんとかしてくれるんじゃね?


313 :デフォルトの名無しさん:2006/12/24(日) 00:40:52
>>311
>MDI
基本MDIを重ねても駄目だと思われる。トップレベルウィンドウ以上の
描画はWindowsまかせなので。逆に言えばここを任せてないからVistaで
あんな力技が可能だし、WPFの制限がきついわけで。
…ってあ、WDM API使えばVistaだけは可能?

314 :302:2006/12/24(日) 00:48:10
>>313
Thx
ということは、さしあたって無理そうだね。

まあ、自分自信すぐに使いたいというわけではないので。

>>302の質問は終了で

315 :デフォルトの名無しさん:2006/12/24(日) 16:51:04
1つのスレッドでいくつもの通信 ソケットを扱うことってできるのでしょうか?

たとえば、1つのスレッドで何箇所からも同時にダウンロードする とか


ご教授願います



316 :デフォルトの名無しさん:2006/12/24(日) 16:57:40
スレッドとソケットには何の関係もないでしょ。
できないほうがおかしい。

http://www.tt.rim.or.jp/~rudyard/torii009.html

317 :デフォルトの名無しさん:2006/12/24(日) 17:01:08
>>315
1個のスレッドっていうわけじゃないけど、こういうんじゃね?
ttp://msdn2.microsoft.com/ja-jp/library/bbx2eya8(VS.80).aspx

318 :デフォルトの名無しさん:2006/12/24(日) 17:04:46
普通にスレッドの中でループまわして順々にRecieveすればいいだけでしょ。

応答の遅いソケットがあればそこで止まるけど、ひとつのスレッドで扱うってのはそういうことだし。

319 :デフォルトの名無しさん:2006/12/25(月) 00:32:27
C#でASP.Netなコードを書いてるのですが、
BinaryFormatterのSerializeでセキュリティ例外が出て、どう対処したらいいのか良くわからず
質問させてください。

コードは以下なような感じのをaspxに入れてるですが、LocalというかDebug環境では動くのですが、
サーバー上では、SecurityExceptionが出てしまいます。

どなたかお知恵をお菓子ください。

using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;



int[] nArray = new int[] {3,4,5,6,7,8 };


MemoryStream stm = new MemoryStream();
BinaryFormatter binaryFormatter = new BinaryFormatter();

binaryFormatter.Serialize(stm, nArray);

long nLen = stm.Length;
stm.Seek(0, SeekOrigin.Begin);

int[] nArray2 = (int[])binaryFormatter.Deserialize(stm);

Response.Write(String.Format("Success: length[{0}]: value[{1}]", nLen, nArray2[2]));


320 :デフォルトの名無しさん:2006/12/25(月) 01:54:33
すいません場違いな質問ですが・・・
C#ってプログラムをまったく知らない奴が2、3ヶ月で基本程度はできるものでしょうか?
目安程度でいいんでお願いします・・・

321 :デフォルトの名無しさん:2006/12/25(月) 02:01:43
言語そのものは一週間もあれば十分だが。
まずそれ以前にオブジェクト指向を理解するのにどれくらいかかるもんだろ。
それに基本と言っても WinForm か ASP.NET かで全然違うしな。

322 :320:2006/12/25(月) 02:14:30
とりあえず電卓作ったりメモ帳作ったりしなければならんもので・・・
頑張れば2ヶ月くらいでいけますか?

323 :デフォルトの名無しさん:2006/12/25(月) 02:18:57
>>322
やる気・根気があれば2ヶ月でできると思う。
わからないとこがある時ここで聞けば教えるよ。

324 :320:2006/12/25(月) 02:21:49
そうですか
逆を言えばヤル気と根気がなければやばそうってコトですかね
とりあえず仕事しながら合間見てがんばって勉強します!

325 :デフォルトの名無しさん:2006/12/25(月) 02:25:08
思ったとおりの動作をするものが作れたときの快感がわかればあとはとんとん拍子かも

326 :320:2006/12/25(月) 02:28:15
そうですか!
わからない単語とかあったらネットとかで調べたりします
あわよくばここに聞きに来ますのでそのときはよろしくお願いします

327 :デフォルトの名無しさん:2006/12/25(月) 03:20:07
DrawAnimatedRectsのような効果をAPI使わずに実現する方法ってありますか?

328 :デフォルトの名無しさん:2006/12/25(月) 08:57:50
 

329 :デフォルトの名無しさん:2006/12/25(月) 09:59:38
MonthCalendarで日付を取得する方法を教えてください

330 :デフォルトの名無しさん:2006/12/25(月) 10:07:51
>>327
自前で描画

>>329
SelectionStart

つーかドキュメント読めやハゲ
MonthCalendarで日付の取得方法聞くのは
TextBoxでテキストの取得方法聞くのと同じだぞボケ。


331 :デフォルトの名無しさん:2006/12/25(月) 10:19:15
電卓やメモ帳はびっくりするくらい簡単に作れるな

332 :デフォルトの名無しさん:2006/12/25(月) 13:04:03
>>314
UpdateLayeredWindowにMemoryDC経由でDIB渡す方法で、
ピクセル単位のアルファ値を設定することができる。
Win2000のころから原理的には可能。(冴子先生とか、これ)
ttp://www.microsoft.com/japan/msdn/windows/windows2000/layerwin.aspx

問題はWinFormsがWin32ウィンドウの単なるラッパーなところ。
WPFやIEみたいに最初からクライアント領域は
完全独自描画にしてればこんなに苦労しなくてすんだだろうに。
SendMessage使えなくなるけどね。

こういうサンプルもある。
ttp://www.codeproject.com/cs/media/perpxalpha_sharp.asp

333 :デフォルトの名無しさん:2006/12/25(月) 16:30:35
いづれC#でVBAみたいなこと出来るんでしたっけ?

334 :デフォルトの名無しさん:2006/12/25(月) 16:35:19
とりあえずC#やっとけ>333

335 :デフォルトの名無しさん:2006/12/25(月) 17:03:55
C#のGUIでDirectXの描画をしたいんですが、
C++のtimeSetEventのように一定間隔で呼ばれるイベントがどれかわかりません。
こういう場合、何を使えばいいんでしょうか

336 :314:2006/12/25(月) 17:09:02
>>332
Thx
規制に捕まって書き込めなかった。

レス見て、レイヤードウィンドがらみでぐぐってみると、↓とかあった。
http://yellow.ribbon.to/~azumaya/doc_dotnet_uplayeredwnd.php

当該の問題以外にもレイヤードウィントは色々使えそうなので勉強してみます。

337 :デフォルトの名無しさん:2006/12/25(月) 17:11:24
>>335
1. timeSetEvent を P/Invoke する。
2. SetTimer を P/Invoke する。
3. System.Windows.Forms.Timer を使う (内部で SetTimer を使用)。

338 :デフォルトの名無しさん:2006/12/25(月) 17:12:37
>>335
System.Windows.Forms.Timer
System.Threading.Timer
System.Timers.Timer
好きなのどうぞ

339 :デフォルトの名無しさん:2006/12/25(月) 18:14:34
>>337
>>338
ありがとうございます。
System.Windows.Forms.Timerを使ってみます。
これ、いくつも種類があるのってやっぱりそれぞれに個性があるんですかね?
使いどころというか。


340 :デフォルトの名無しさん:2006/12/25(月) 18:22:06
C#って将来性あるんですか?

341 :デフォルトの名無しさん:2006/12/25(月) 18:23:48
無いので早々にお帰りください

342 :デフォルトの名無しさん:2006/12/25(月) 18:35:01
>>340
ある。
4〜5年前は>>341のように言われていたが実際流行ってきてる。

343 :デフォルトの名無しさん:2006/12/25(月) 18:40:09
ゲーム作成でより高度な処理を実現するために、
C++と比較して、C++よりC#が優れている点ってないですよね?
それともC++で実現可能なことはC#でも実現可能?


344 :デフォルトの名無しさん:2006/12/25(月) 18:43:55
>>341 のような返事しとけば荒らしはすぐ去っていくんだけどな


345 :デフォルトの名無しさん:2006/12/25(月) 18:49:52
オレもそう思った。何蒸し返してんおかなと

346 :デフォルトの名無しさん:2006/12/25(月) 18:51:33
>>343
C++でできるなら何もわざわざC#を使う必要なんてありやしません。

347 :デフォルトの名無しさん:2006/12/25(月) 18:57:11
ネットワークでつながっているPCが2台あったとして、それぞれ
A、Bとする。最初にAが立ち上がっているとする。

Bの起動途中にAをシャットダウンすると、それ以降Aで.NETを
使うプログラムを動かそうとすると、mocoree.dllでエラーが出る
ようになり、frameworkのアンインストールすらエラーになる。

タイミングの問題らしいんだが、Bを再起動する事で直った。
ちょっと不安を感じさせる。

348 :デフォルトの名無しさん:2006/12/25(月) 19:02:21
もっこりでぃーえるえる

349 :327:2006/12/27(水) 00:21:45
>>330
どうやって?

350 :デフォルトの名無しさん:2006/12/27(水) 00:25:49
>>349
自分で考えろと書いてあったろ?

351 :デフォルトの名無しさん:2006/12/27(水) 03:15:30
つまんねぇ奴が居着いちゃったなぁ。

352 :デフォルトの名無しさん:2006/12/27(水) 03:30:53
>>349
Graphics.FromHwnd(IntPtr.Zero)
これでデスクトップのGraphicsがとれるから、ひたすらガリガリ書けばいいんじゃね?

353 :デフォルトの名無しさん:2006/12/27(水) 06:36:28
System.Net.MailMessageについて質問です。
MailMessage mail = new MailMessage();
mail.Headers.Add("To", "hoge@fuga.com,\"山田 太郎\" <zzz@yyy.xxx>");

FormatException「ヘッダー値に無効な文字が見つかりました。」とでるのですが。
System.Net.MailMessage.HeadersはNameValueCollectionであるので
AddではFormatExceptionがでないと思うのですが、なぜでしょう?


354 :デフォルトの名無しさん:2006/12/27(水) 06:58:21
よく知らないけど、漢字をそのままヘッダに突っ込むのはマズイような

355 :デフォルトの名無しさん:2006/12/27(水) 10:14:35
どの時点で出るか、だが。
Addしただけで出るの?

もちろん、エンコードしないと漢字はまずいけどね

356 :デフォルトの名無しさん:2006/12/27(水) 10:25:22
DataSet内のテーブルをDataGridViewで表示しているのですが
テーブル内に列を追加してもビューに反映されません。
どうして?

357 :デフォルトの名無しさん:2006/12/27(水) 11:31:49
DataMember?

358 :デフォルトの名無しさん:2006/12/27(水) 12:10:03
C#の勉強としてCGIを作っています。FORMから送信された
データの読み取りは、下のコードでいいでしょうか?
これをやったらダメ、ここはこうした方がいいという箇所
がありましたら教えてください。

String queryString;
String reqMethod = Environment.GetEnvironmentVariable("REQUEST_METHOD");
if ( reqMethod.Equals( "POST" ) ) {
String conLenStr = Environment.GetEnvironmentVariable("CONTENT_LENGTH");
int queryLength = Int32.Parse(conLenStr);
BufferedStream stdin = new BufferedStream(Console.OpenStandardInput(),queryLength);
byte [] queryBytes = new byte[queryLength];
stdin.Read( queryBytes, 0, queryLength );
queryString = Encoding.UTF8.GetString(queryBytes);
}
else {
queryString = Environment.GetEnvironmentVariable("QUERY_STRING");
}


359 :デフォルトの名無しさん:2006/12/27(水) 12:42:17
.NETでCGI作るのが変態行為

360 :デフォルトの名無しさん:2006/12/27(水) 13:13:41
>>357

ありがと

361 :デフォルトの名無しさん:2006/12/27(水) 14:13:10
>>353
System.Net.MailMessage.HeadersはSystem.Net.Message.Headersを返すから、System.Net.Mime.HeaderCollection

Addする文字列に\x0100以上の文字があればFormatExceptionがでる。

362 :デフォルトの名無しさん:2006/12/27(水) 14:21:28
>>358
例外処理なんとかしる

363 :デフォルトの名無しさん:2006/12/27(水) 14:39:19
>>359
あくまでも学習用の素材なので、CGIを全否定されても
困ってしまう。DOS窓に Hello World! とか出力するのは
退屈すぎる。

>>362
すんません。例外処理は今後の学習課題です。例外処理というと、
JavaScriptのtry{}catch(e){}しか知らないんです。
最優先で例外処理を追加すべき箇所がどこか教えていただけると
助かります。

364 :デフォルトの名無しさん:2006/12/27(水) 14:51:50
>>363
ASP使わずに.NETでCGI書くのが変態であるのは曲げようのない事実であるが。

tryで囲むのはInt32.Parseくらいでいいんじゃないかな
ストリームを一回だけ読むのにBufferedStreamを使うのはあまり意味がなさそうだけど。

文字列の比較にEqualsを使うと読みづらくならない?

365 :デフォルトの名無しさん:2006/12/27(水) 15:49:37
>>364
ご指摘ありがとうございます。
BufferedStream については、環境変数CONTENT_LENGTHから得た値の
分だけReadメソッドでbyte配列かchar配列に標準入力を読み込めれば
なんでもよかったのですが、バッファの大きさを指定する場合、一番
簡単そうだったので使いました。
修正版は下のようになりました。

String queryString = "";
String reqMethod = Environment.GetEnvironmentVariable("REQUEST_METHOD");
if ( reqMethod == "POST" ) {
String conLenStr = Environment.GetEnvironmentVariable("CONTENT_LENGTH");
int queryLength = 0;
try {
queryLength = Int32.Parse(conLenStr);
} catch {
// 例外処理 HTMLでエラーメッセージを出力する
dispError( "CONTENT_LENGTH の Parse に失敗しました。" );
}
BufferedStream stdin = new BufferedStream(Console.OpenStandardInput(),queryLength);
byte [] queryBytes = new byte[queryLength];
stdin.Read( queryBytes, 0, queryLength );
queryString = Encoding.UTF8.GetString(queryBytes);
}
else {
queryString = Environment.GetEnvironmentVariable("QUERY_STRING");
}


366 :デフォルトの名無しさん:2006/12/27(水) 15:54:34
■ おすすめ2ちゃんねる 開発中。。。 by FOX ★
このスレを見ている人はこんなスレも見ています。(ver 0.20)

★S・しゃぶ・覚せい剤のスレ★質問とか part49 [薬・違法]


おい、誰だw

367 :デフォルトの名無しさん:2006/12/27(水) 16:10:32
C#でIEのWindowに図形を描画するプログラムをかいています。

強制的にIEのWindowを再描画して、書き込んだ図形を消去しようとしているのですが、
その方法に詰まっています。誰か良い解決策を教えてください。
ちなみにhWndは取得出来ています。

368 :デフォルトの名無しさん:2006/12/27(水) 16:17:59
再描画はInvalidate()
hWnd あるなら API 呼んでみては。
即反映させたいなら、Invalidateの後にUpdateWindow

369 :デフォルトの名無しさん:2006/12/27(水) 16:18:33
hWndあるなら単に好きな範囲をInvalidateすりゃいんじゃ?

370 :デフォルトの名無しさん:2006/12/27(水) 16:30:27
>>367です
返信有難う御座います。

invalidate()の使い方がイマイチ良く分かりません。。。
hWndをControlにする作業が必要なのでしょうか?

371 :デフォルトの名無しさん:2006/12/27(水) 16:38:25
>>365
Int32.Parseをtryでくくるなんてこと覚えずに
bool Int32.TryParseを使いなされ
例外を処理するところじゃない

>>370
APIのInvalidateRect()



372 :デフォルトの名無しさん:2006/12/27(水) 17:39:24
情報ボックスの説明の文章を改行するにはどうするの?
アセンブリ情報に\n入れても無視されます。

373 :デフォルトの名無しさん:2006/12/27(水) 17:44:10
CRLF

374 :デフォルトの名無しさん:2006/12/27(水) 17:53:37
コンテキストメニューで項目を作ってそこにショートカットを設定しています。
タスクトレイに入れてFormは消した状態にしてるんですがショートカットを受けてくれません。
どうすれば解消できますか?
よろしくお願いします。

375 :デフォルトの名無しさん:2006/12/27(水) 18:05:12
>>374
フック

376 :デフォルトの名無しさん:2006/12/27(水) 18:06:36
>>374
キー入力はウィンドウが受けるものだから。
ホットキーを登録しないといけない。

377 :デフォルトの名無しさん:2006/12/27(水) 18:16:29
>>371
(A) try { queryLength = Int32.Parse(conLenStr); } catch { queryLength = 0; }
(B) bool result = Int32.TryParse(conLenStr, out queryLength);

(A)と(B)は機能的に等価で、例外処理をしなくて済む分、TryParseを
用いた方がベターだということですね。
ただ、ここでは環境変数REQUEST_METHODの値が"POST"で、なおかつ
標準入力から何も読み込まないのであれば、クライアントに
エラーメッセージを返すべきでしょう。
ですから、例外処理をしてもいいような気がしますが、どうなのでしょうか?

(A') try { queryLength = Int32.Parse(conLenStr); }
catch { DispError( 〜
(B') bool result = Int32.TryParse(conLenStr, out queryLength);
if ( queryLength == 0 ) { DispError( 〜


378 :デフォルトの名無しさん:2006/12/27(水) 18:20:45
C#なら例外を使うほうが漏れの好みだな・・・。

379 :デフォルトの名無しさん:2006/12/27(水) 18:21:56
ああ、いや、ていうかケースバイケースで、字面的にすっきりする方。

380 :デフォルトの名無しさん:2006/12/27(水) 18:28:44
>>370です。

InvalidateRect(hWnd, IntPtr.Zero, false);
UpdateWindow(hWnd);
このようなコードを書いて再描画させたのですが、再描画された部分は
IEのテキストが表示される部分の上の枠線部分のみで
全体は再描画されませんでした。
何が問題なのでしょうか?


381 :デフォルトの名無しさん:2006/12/27(水) 18:32:18
InvalidateRectの3つ目はtrueでもやってみた?

382 :デフォルトの名無しさん:2006/12/27(水) 18:35:17
Win32APIなんて長いこと使ってないから忘れてしまったんだが
InvalidateRectって子ウィンドウに伝播しないんじゃなかったかなあ

RedrawWindowには子ウィンドウを再描画するかどうかのフラグがあったような

383 :デフォルトの名無しさん:2006/12/27(水) 19:04:52
って、HWNDってメインので、クライアントエリアのHWNDじゃないのか
そりゃクライアントエリアのHWNDもってくるか、子ウィンドウまで再描画させるかかな

384 :デフォルトの名無しさん:2006/12/27(水) 19:10:53
C#にevalってあるんでしょうか?


385 :デフォルトの名無しさん:2006/12/27(水) 19:13:37
LCGを使って動的にILを書き下せる

386 :デフォルトの名無しさん:2006/12/27(水) 19:17:46

C#に限ったことじゃないだろうが、.NET系のEXEは起動時、
メモリーにロードするだけじゃなくてコンパイルまでやってるから
画面が表示されるまで時間が掛かるだろ?

そこでだ、例えばVisualStudio2005なんかもそうだけど、
起動するとまず素早くオープニングの小フォームだけ出して、
それから使うクラスをロード・・。
完了次第メインのフォームを表示して、最初の小フォームを閉じる。
これどうやればいいの?


387 :デフォルトの名無しさん:2006/12/27(水) 19:24:04
>>386
そのウィンドウのことを「スプラッシュウィンドウ」という。
それでググってわからんかったらまたおいで。

388 :デフォルトの名無しさん:2006/12/27(水) 19:28:45
>>385
ぐぐったらLCG=Lightweight Code Generatorというのは分かったけど
何かは分からなかった。これはなんでしょうか?
IronPythonなどを使ってevalしろってことでしょうか?

389 :デフォルトの名無しさん:2006/12/27(水) 19:36:54
Microsoft.CSharp.CSharpCodeProvider

390 :デフォルトの名無しさん:2006/12/27(水) 19:41:55
ILGenerator

391 :384:2006/12/27(水) 19:47:54
リフレクションを使うんですね。うーむ、DLL内の関数を呼び出すだけじゃなくて
変数に代入とかもできないと困るんですよね。
IronPythonを使ってevalしたほうが良さそうです。みなさん、サンクス。

392 :デフォルトの名無しさん:2006/12/27(水) 20:17:50
C#始めたばかりなのですが相談です。
一応コマンドプロンプト(?)っぽい画面に文字を表示させるための文章は書き終えたのですが、表示時間の設定の方法が分りません。
一応作った文章載せておきます
using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
class Test
{
static void Main()
{
System.Console.WriteLine(1983);
System.Console.WriteLine("なにかが起きた");

System.Console.WriteLine(0x7C1);
System.Console.WriteLine("なにかが起きた");
}
}
}


393 :デフォルトの名無しさん:2006/12/27(水) 20:24:19
Sleep()

394 :392:2006/12/27(水) 20:45:54
>>393
「sleepは現在のコンテキスト内に存在しません」
と出てしまいます・・・。使ってるソフトはちなみに
visual C# 2005 Express Editionです

395 :デフォルトの名無しさん:2006/12/27(水) 20:52:41
Thread.Sleep

ちょっとはMSDN検索しいな。

396 :デフォルトの名無しさん:2006/12/27(水) 21:06:12
ほかっとけよー

397 :デフォルトの名無しさん:2006/12/27(水) 21:07:46
IEで表示されているテキストの位置を取得する方法って有りますか?


398 :デフォルトの名無しさん:2006/12/27(水) 21:20:18
IEの子ウィンドウからInternet Explorer_Serverを見つけて、IHTMLDocumentをQueryInterface
あとはDOMで辿っていって、screenTopあたりじゃないかな。

399 :デフォルトの名無しさん:2006/12/27(水) 21:27:35
>>397
画面上の位置か度無上の位置か?

400 :デフォルトの名無しさん:2006/12/27(水) 21:33:59
>>397です。

画面上の位置を知りたいんですが、無理でしょうか?

401 :デフォルトの名無しさん:2006/12/27(水) 21:37:39
>>400
出来るかも…
Flushはむりだよ。

けど何に使うんだ?

402 :デフォルトの名無しさん:2006/12/27(水) 22:01:03
>>400です。

IE上の文字をアニメーションさせたくて、
そのために画面上の位置を知りたいと思ってます。

403 :デフォルトの名無しさん:2006/12/27(水) 22:04:38
>>400です。

もう一つ質問が有ります。
IEでも何でも良いのですが、.netで、あるWindow内のテキストを
フォーム内にドラッグアンドドロップした時にイベントを発生させるには
何というイベントを発生させると良いのでしょうか?

DragDropイベントだとファイルのドラッグアンドドロップにしか
対応していないようで。。。

404 :デフォルトの名無しさん:2006/12/27(水) 22:08:31
>>402
>>398

405 :デフォルトの名無しさん:2006/12/27(水) 22:23:29
>>403
private void Form1_DragEnter( object sender, DragEventArgs e )
{
    e.Effect = DragDropEffects.All;
}

private void Form1_DragDrop( object sender, DragEventArgs e )
{
    if( e.Data.GetDataPresent( DataFormats.Text ) )
    {
        string data = (string)e.Data.GetData( DataFormats.Text );
        MessageBox.Show( data );
    }
}


406 :デフォルトの名無しさん:2006/12/27(水) 22:34:47
>>405さん

有難う御座います。
しかし、このコードでも、テキストをドラッグアンドドロップしようとしても
罰マークが出てしまい、イベントを取得できません。。。
何か他の設定が必要なのでしょうか?

407 :デフォルトの名無しさん:2006/12/27(水) 22:45:21
フォームのプロパティでAllowDrop = trueにはしてあるんでしょ?

DragEnter/DragOverとかのイベントで、ドラッグしてるデータがTextのときに
きちんとDragDropEffectを設定していないと思われ

上のははしょったけど
private void Form1_DragOver( object sender, DragEventArgs e )
{
    if( e.Data.GetDataPresent( DataFormats.Text ) )
        e.Effect = DragDropEffects.Copy;
}
みたいな感じで

まあそれでも駄目なら自分のコード貼れってこった

408 :デフォルトの名無しさん:2006/12/27(水) 23:04:47
>>407さん

申し訳ないです。ドラッグ&ドロップの仕方が悪かったようです。
最小化されているフォームに対して、テキストをドラッグ&ドロップしていたため、
イベントが発生しなかったようです。

最小化されているフォームに対してドラッグ&ドロップイベントを発生させることは
可能なのでしょうか?

409 :デフォルトの名無しさん:2006/12/27(水) 23:19:47
もう一つ質問なのですが、IEのテキストをドラッグアンドドロップした際に
そのテキストが元々IEのウィンドウのどの位置に有ったかという情報を
取得することは可能なのでしょうか?

410 :デフォルトの名無しさん:2006/12/27(水) 23:20:41
可能

411 :デフォルトの名無しさん:2006/12/27(水) 23:22:14
そんなことC#でやるなんて、自ら毒杯を呷るようなもんじゃね?

412 :デフォルトの名無しさん:2006/12/27(水) 23:45:51
>>410さん

それをやるにはどういう方法がありますか?

413 :デフォルトの名無しさん:2006/12/28(木) 00:42:00
思うんだが、まず勉強だよね。
やっぱり、CやC++やWin32API、これが基本にないと混乱の源。
この、掲示板を見てそう思う。

414 :デフォルトの名無しさん:2006/12/28(木) 00:48:21
んだな。>>397からみてるとC#関係ない質問ばかりだし

415 :デフォルトの名無しさん:2006/12/28(木) 01:23:31
ビスタって全部C#で書かれてるんでしたっけ?

416 :デフォルトの名無しさん:2006/12/28(木) 01:25:50
まじげ?

417 :デフォルトの名無しさん:2006/12/28(木) 01:27:43
びすたもPS3みたいな運命を・・・


418 :デフォルトの名無しさん:2006/12/28(木) 01:28:35
>>415
そんなことがあれば俺はMSに命を捧げてもかまわない

419 :デフォルトの名無しさん:2006/12/28(木) 01:28:47
質問させてください。

C++製のDLLの中に
void* get_pointer();
という関数があるとして、
それをDllImportで呼び出して戻り値をIntPtr型の変数に代入します。

その後、同じDLL内に
void manage_data(void* pointer)
という、渡されたポインタを構造体のポインタに変換してデータを変更する関数がある場合、
それを
[DllImport("hoge.dll")]
public static extern void manage_data(IntPtr pointer);
という形で宣言して、
先ほどget_pointerで取得したIntPtr型の変数をそのまま渡した場合、
データを正しく処理することはできますでしょうか?

420 :デフォルトの名無しさん:2006/12/28(木) 01:28:59
>>415
こちらへどうぞ。

最高にド低脳な発言してください in ム板(XV)
http://pc8.2ch.net/test/read.cgi/tech/1164376614/


421 :デフォルトの名無しさん:2006/12/28(木) 01:30:26
>>419
まあ問題ないでしょ

422 :デフォルトの名無しさん:2006/12/28(木) 01:30:46
>>419
できる思うが。
つーかやってみりゃいいじゃねーかハゲ


423 :353:2006/12/28(木) 06:50:58
>>354,355,361 ありがとうございます。
自力でMIMEヘッダ対応なエンコードしなきゃだめなんですね。

Mail空間になんでMIMEエンコードクラスが公開されてないんだか・・

424 :デフォルトの名無しさん:2006/12/28(木) 07:14:35
すみません・・・
C#でウィザードリィみたいなゲーム作れるのでせうか;

425 :デフォルトの名無しさん:2006/12/28(木) 08:19:21
作れるよ。

426 :デフォルトの名無しさん:2006/12/28(木) 10:01:40
警告
このスレは回廊の終わりに達しました。

  :
  :

 A PIT

427 :デフォルトの名無しさん:2006/12/28(木) 10:28:17
ゴール直前でExceptionが発生し続行不可

428 :デフォルトの名無しさん:2006/12/28(木) 11:28:13
>>427
それどこのカルドセ(ry

429 :デフォルトの名無しさん:2006/12/28(木) 13:08:39
C#というか、.NETフレームワークに関連していると思うけど、
WindowsのEXE起動時、前回使用したときと同じ位置に
フォームを表示させるのに良い方法はありますか?

VB6だとLoadイベント内で位置やサイズを設定すればよかった。
が、C#.NETで同じことすると、設定前の位置に一瞬表示されてから
設定した位置に表示される。
これがみっともないから良い方法あったら教えてください。


430 :デフォルトの名無しさん:2006/12/28(木) 13:16:14
>>429
起動時は不可視にしとけば?
設定後に可視化。


431 :デフォルトの名無しさん:2006/12/28(木) 13:19:27
>>429
Loadイベントで設定読み込んでLocationとSizeにセットなんてしょっちゅうやってるが

432 :デフォルトの名無しさん:2006/12/28(木) 13:34:43
Form表示し終わるまでに来る可能性のあるイベント一覧を調べる力技じゃないエレガントな方法ありますかね?

433 :デフォルトの名無しさん:2006/12/28(木) 13:50:21
.NET 用の spy++ みたいなのがどっかにあったな

434 :デフォルトの名無しさん:2006/12/28(木) 14:20:44
CLRSPYだっけ?
似たようなツールいくつかあった気がする。
あのツール使ってみると、正直ゾッとする。

435 :デフォルトの名無しさん:2006/12/28(木) 14:21:23
>>429
コンストラクタで設定するのが定石じゃね?

436 :デフォルトの名無しさん:2006/12/28(木) 14:39:18
>>435
コンストラクタ内だと設定しても反映されない不思議現象

437 :デフォルトの名無しさん:2006/12/28(木) 14:39:49
C#でDNSのTXTレコードを取得するにはどうすればよいですか?

438 :デフォルトの名無しさん:2006/12/28(木) 14:54:01
C#を始めようと思ってるのですが、オススメの入門サイトとかありますか?
ちなみに使うソフトは Microsoft Visual C# 2005 Express edition です

439 :デフォルトの名無しさん:2006/12/28(木) 14:55:41
>>436
これだっけ?
やってる?

StartPosition = FormStartPosition.Manual;

440 :デフォルトの名無しさん:2006/12/28(木) 14:56:59
>>436
StartPositionをManualにしてコンストラクタでLocationを設定

441 :デフォルトの名無しさん:2006/12/28(木) 15:06:56
>>438
http://uchukamen.com/
http://homepage3.nifty.com/midori_no_bike/CS/
この辺見てみたら?

442 :デフォルトの名無しさん:2006/12/28(木) 15:12:36
>>438
初心者向けのスレは↓でそれの4あたり
http://pc8.2ch.net/test/read.cgi/tech/1166240484/4

443 :デフォルトの名無しさん:2006/12/28(木) 17:41:59
Shownイベントって実際Shownされてるか関係ないよな
非同期なLoadって感じ

444 :デフォルトの名無しさん:2006/12/28(木) 17:53:30
表示されてないのにShownが発生することはないと思うけど。

445 :デフォルトの名無しさん:2006/12/30(土) 00:39:09
System.Console.WriteLine();
とか、なぜみんなフルネームで呼ぶ!?
C#ほやほやの俺が見たところ大半はフルで表記してる
理由あるの?

446 :デフォルトの名無しさん:2006/12/30(土) 00:42:09
初心者がusingしないでコンパイルしようとして悩むから

103 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)