C♯, C#相談室 Part33
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2006/07/22(土) 11:58:01前スレ
C♯, C#相談室 Part32
http://pc8.2ch.net/test/read.cgi/tech/1149934230/
過去スレは>>2-5あたり。
※スレタイに「#」を入れても消えちゃうので新スレ立てる人は要注意だ。
0002デフォルトの名無しさん
2006/07/22(土) 12:00:20Part30 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/
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/
0003デフォルトの名無しさん
2006/07/22(土) 12:01:09Part15 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
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 pc.2ch.net/tech/kako/977/977112364.html
0004デフォルトの名無しさん
2006/07/22(土) 12:01:48http://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
0005デフォルトの名無しさん
2006/07/22(土) 12:09:320006デフォルトの名無しさん
2006/07/22(土) 14:37:080007デフォルトの名無しさん
2006/07/22(土) 15:57:350008デフォルトの名無しさん
2006/07/22(土) 18:27:33マルチスレッドの同期について教えて欲しいっす。
複数のスレッドで同じListのデータを取り出して、
データがなかったらデータが入るまで待機させたいんだけど、
なーんかいい方法ってないっすか?
Sleepして待たすと結構泥くさい処理になるので
Javaのwait+notifyAll見たいに特定条件満たしたら起こしてくれるようなのないっすか?
自分でまた監視用の別スレッド作ればいいだけかもしれないけど、
いい方法があるんならけちけちせずに教えて欲しいっす。
よろしくねー
0009デフォルトの名無しさん
2006/07/22(土) 18:39:21煽りだって解釈でいいのかな?
0010デフォルトの名無しさん
2006/07/22(土) 18:42:4300118
2006/07/22(土) 18:50:40本気なんすけど。
頼んますわ、マージーでー
0012デフォルトの名無しさん
2006/07/22(土) 19:00:320013デフォルトの名無しさん
2006/07/22(土) 19:23:11Javaで作れ、カス
0014デフォルトの名無しさん
2006/07/22(土) 19:35:160015デフォルトの名無しさん
2006/07/22(土) 19:40:2500168
2006/07/22(土) 19:43:12ちゃんと知識ある回答者のーぞーむー
かもーん
0017デフォルトの名無しさん
2006/07/22(土) 20:00:5300188
2006/07/22(土) 20:49:26ないですです。
なんかいーほーほーありませんかねー
0019デフォルトの名無しさん
2006/07/22(土) 20:54:49イベントオブジェクト
0020デフォルトの名無しさん
2006/07/22(土) 21:07:0800218
2006/07/22(土) 21:55:05ちゃうねん、ちゃうねん。
そーいうことじゃないんだよ、ないんだよ、なーいーんーだーよー。
デザインパターンでいえばWorker Threadなんだよー
やりたいのはーさー
エロいひとーおしえてくださいよー
0022デフォルトの名無しさん
2006/07/22(土) 22:02:57オマエ ウザイ クサイ
0023デフォルトの名無しさん
2006/07/22(土) 22:18:22ちょっとまてや、
WaitとPalse、PalseAllがあるだろ。
名前はNotifyじゃなかったが。
0024デフォルトの名無しさん
2006/07/22(土) 22:21:34目の前に箸があるのにフォークが欲しいという神経もよくわからん。
0025デフォルトの名無しさん
2006/07/22(土) 22:25:190026デフォルトの名無しさん
2006/07/22(土) 22:50:41以下引用
「
// やってはいけないプログラムの例(一部)
(1) Form1_Closing() 内で e.Cancel = true はダメ!
もし、そうすると、OS(Windows)が、「シャットダウン」できなくなってしまう!
」
とありますが、ではCancelしたいときはどうすればいいのでしょうか?
お願いします。
0027デフォルトの名無しさん
2006/07/22(土) 22:52:01表現間違ってる。
目の前に箸があるのに、チョップスティック欲しいって言ってるんだよ。
0028デフォルトの名無しさん
2006/07/22(土) 23:23:23if (終了するかどうかのメッセージボックスを表示 != YES) e.Cancel = true;
.NET 2.0 以降は FormClose イベントに変更になって終了理由がわかるようになったのでこういうことも可能。
if (e.CloseReason == ユーザーによる終了) {
if (終了するかどうかのメッセージボックスを表示 != YES) e.Cancel = true;
}
0029デフォルトの名無しさん
2006/07/22(土) 23:33:48メッセージボックスを出す
if (MessageBox.Show("終了しますか?") == DialogResult.OK){
e.Cancel = true;
}
003029
2006/07/22(土) 23:36:100031デフォルトの名無しさん
2006/07/22(土) 23:41:500032デフォルトの名無しさん
2006/07/23(日) 00:06:22if (e.CloseReason == CloseReason.TaskManagerClosing){
if (MessageBox.Show("タスクマネージャによって終了しようとしています",
this.Text, MessageBoxButtons.OKCancel) == DialogResult.Cancel){
e.Cancel = true;
}
}
}
試しに実行してみたら、メッセージボックスが出ている途中でしばらくすると終了してしまう。
なぜ?
0033デフォルトの名無しさん
2006/07/23(日) 00:08:32終了しますんか?
いええ Cancel
0034デフォルトの名無しさん
2006/07/23(日) 00:12:13タスクマネージャがメッセージボックスにもClose要求を出しているのかも。
ボタン以外の操作で閉じた場合はキャンセル扱いだったと思う。
003526
2006/07/23(日) 00:17:29メッセージボックスを使えばForm1_Closingの中にe.cancel=trueがあっても
いいんですね。
>>28>>29>>30
ワロタ
0038デフォルトの名無しさん
2006/07/23(日) 03:40:31それがOSとして当然の動作だから
0039デフォルトの名無しさん
2006/07/23(日) 03:42:400040デフォルトの名無しさん
2006/07/23(日) 05:52:23じゃあ「CloseReason.TaskManagerClosing」のメソッドってどういうときに使うの?
0041デフォルトの名無しさん
2006/07/23(日) 05:57:000042デフォルトの名無しさん
2006/07/23(日) 07:32:57タスクマネージャから閉じる時だけログファイルを閉じる?
いまいちよく分からないんだけど
0043デフォルトの名無しさん
2006/07/23(日) 07:40:16タスクマネージャから閉じる時「は」「タスクマネージャから終了したとログ追記して」ログファイルを閉じる
0044デフォルトの名無しさん
2006/07/23(日) 07:57:52逆に「タスクマネージャから閉じる時はログを作らない」
などの処理をスルーする処理の方が実用的かな?
0045デフォルトの名無しさん
2006/07/23(日) 08:53:57むしろTaskManagerClosingだから悠長にダイアログ出してないで
さっさと終了処理しなきゃならんことがわかるのは利点だろ?
普段はダイアログで終了確認してる場合でもさ。
0046デフォルトの名無しさん
2006/07/23(日) 08:55:41場合に依るだろう。
原発の制御管理システムもWindowsベースのモノがあるし。
0047デフォルトの名無しさん
2006/07/23(日) 11:31:35そのまんまだろ
OSから来た強制終了の要求に応える処理を入れるだけ
否定してもOSは強制終了させるんだから、抗っても無駄だし
0048デフォルトの名無しさん
2006/07/23(日) 12:55:070049デフォルトの名無しさん
2006/07/23(日) 13:05:56よく考えるとまぁ、恐ろしい話だわね。
0050デフォルトの名無しさん
2006/07/23(日) 13:38:18原発の情報システム部門の人間だが、普通に使ってるぞ。
もちろん、使う部分によるがな。
ようは、適材適所ってだけ。
0051デフォルトの名無しさん
2006/07/23(日) 13:44:02>強制終了の要求に応える処理
それは44の重複かな?
0052デフォルトの名無しさん
2006/07/23(日) 13:45:30粘着うざいー
0054デフォルトの名無しさん
2006/07/23(日) 13:51:45ほら粘着だよー
0055デフォルトの名無しさん
2006/07/23(日) 13:58:360056デフォルトの名無しさん
2006/07/23(日) 14:00:120057デフォルトの名無しさん
2006/07/23(日) 14:01:11プログラマですよー
0058デフォルトの名無しさん
2006/07/23(日) 14:02:200059デフォルトの名無しさん
2006/07/23(日) 14:02:35向上心の欠片もないダメグラマーなんだろうな
0060デフォルトの名無しさん
2006/07/23(日) 14:03:29アホは無視しとけ
0061句読点書けないバカをサマージャンボする俺 ◆9NQzQ21lx.
2006/07/23(日) 14:07:330062デフォルトの名無しさん
2006/07/23(日) 14:09:410063デフォルトの名無しさん
2006/07/23(日) 14:14:13しかし、>>47のレスからは、明確に答えられるほどのスキルを持っているようには見受けられない。
結局、粘着呼ばわりして荒らすことで自分のアイデンティティを保つしかなかったようだ。
---47に同情しながら終了---
0064デフォルトの名無しさん
2006/07/23(日) 14:16:380066デフォルトの名無しさん
2006/07/23(日) 14:20:35>>62 >>63ははずれ。>>60は俺。
0067デフォルトの名無しさん
2006/07/23(日) 14:25:520068デフォルトの名無しさん
2006/07/23(日) 14:26:32善良な市民が大量に巻き込まれてるぞw
0069デフォルトの名無しさん
2006/07/23(日) 14:30:480070デフォルトの名無しさん
2006/07/23(日) 14:33:32深呼吸して君が今やってる行為は何か。よく考えてみよう。
な?俺の言ったとおりでしょw
もう一目見ただけで粘着の素質十分だったし。
んでは。
0071デフォルトの名無しさん
2006/07/23(日) 14:55:010072デフォルトの名無しさん
2006/07/23(日) 14:56:550073デフォルトの名無しさん
2006/07/23(日) 21:16:38これやるからカエレ
class BlockQueue<T> {
Queue<T> queue = new Queue<T>();
ManualResetEvent mre = new ManualResetEvent(false);
public void Enqueue(T item) {
lock (queue) {
queue.Enqueue(item);
mre.Set();
}
}
public T BlockDequeue() {
mre.WaitOne();
lock (queue) {
if (queue.Count == 1) {
mre.Reset();
}
return queue.Dequeue();
}
}
}
0074デフォルトの名無しさん
2006/07/23(日) 23:37:23おいおい
Javaだけしか使えない馬鹿は相手にしない方がいいぞ
馬鹿がうつるから
本当にJavaだけプログラマはゴミだよな
消えて欲しい
0075デフォルトの名無しさん
2006/07/23(日) 23:50:120076デフォルトの名無しさん
2006/07/23(日) 23:59:09マルチスレッド・プログラミングに挑む奴がいるんだね
レール上しか走れないゴーカート言語Javaのプログラマは優秀だ
0077デフォルトの名無しさん
2006/07/24(月) 00:02:440078デフォルトの名無しさん
2006/07/24(月) 00:05:150079デフォルトの名無しさん
2006/07/24(月) 00:05:49AddEventHandler でデリゲートを登録してるのだから、
EventInfo から デリゲートを取得し、そこから Object を得る方法が
あるのでないかと思うのですが、
EventInfo のメンバには、GetRaiseMethod はあっても、
GetDelegate とか、GetObject とかないんですよねぇ・・・。
0080デフォルトの名無しさん
2006/07/24(月) 00:23:19そこまで知ってて排他制御と言う概念にまで昇華出来ないのがC#プログラマの底の浅さ。
0081デフォルトの名無しさん
2006/07/24(月) 00:24:450082デフォルトの名無しさん
2006/07/24(月) 01:53:170083デフォルトの名無しさん
2006/07/24(月) 05:16:32定義に関する情報と実行時の特定のインスタンスなどに関わる情報を混同するな。
リフレクションでメソッドを指定してそのメソッドを持つインスタンスを返してくれって言ってるようなもんだぞ。
0084デフォルトの名無しさん
2006/07/24(月) 05:17:52??
0085デフォルトの名無しさん
2006/07/24(月) 07:21:50興味を持ち、以下を試してみました:
A.cs に public class A { public void MA() { } }
B.cs に public class B { public void MB() { } }
C.cs に [assembly: System.Reflection.AssemblyVersion("12.34.56.78")]
と記述して
csc /target:module /out:ABC.netmodule A.cs B.cs C.cs
al /target:library /out:ABC.dll ABC.netmodule
を実行した。
(※ .NET Framework: v2.0.50727)
上の操作で得られたアセンブリ ABC.dll を "Lutz Roeder's .NET Reflector"
(http://www.aisto.com/roeder/dotnet/) でブラウズすると "ABC.dll" と
"ABC.netmodule" の 2 つのモジュールが表示されてしまいます。
モジュール "ABC.dll" の定義も空なので、どうにかして出てこないように
アセンブリをリンクしたいのですが、どうすればよいのでしょうか。
どうかご教授お願い致します。
0086デフォルトの名無しさん
2006/07/24(月) 07:28:26ABC.netmodule の情報を持ってなかったら ABC.dll はどうにもならんじゃないか
008785
2006/07/24(月) 09:01:50一般的な形である、シングルモジュールアセンブリ:
┏ファイル ABC.dll━━━━┓
┃┌アセンブリ ABC──┐ ┃
┃│ ┌──────┐ │ ┃
┃│ │マニフェスト │ │ ┃
┃│ └──────┘ │ ┃
┃│┌モジュール ABC┐│ ┃
┃││┌────┐ ││┃
┃│││ 型定義 │ ││┃
┃││└────┘ ││┃
┃│└───────┘│┃
┃└─────────┘┃
┗━━━━━━━━━━━┛
ではなく、このような:
┏ファイル ABC.dll━━━┓
┃┌アセンブリ ABC─┐ ┃
┃│┌──────┐│┃
┃││ マニフェスト ││┃
┃│└──────┘│┃
┃└────────┘┃
┗━━━━━━━━━━┛
↓参照/依存
┏ファイル ABC.netmodule ━┓
┃┌─────────┐ ┃
┃│ 型定義 │ ┃
┃└─────────┘ ┃
┗━━━━━━━━━━━┛
形にしたいと考えています。アセンブリの持つ唯一のモジュールを
外部ファイルとして配置するということは不可能なのでしょうか。
008885
2006/07/24(月) 09:09:21┏ファイル ABC.netmodule━━━┓
┃┌モジュール ABC.netmodule┐┃
┃│ ┌────┐ │ ┃
┃│ │ 型定義 │ │ ┃
┃│ └────┘ │ ┃
┃└───────────┘ ┃
┗━━━━━━━━━━━━━┛
でした。AA を連投してしまい大変申し訳ありません。
0089デフォルトの名無しさん
2006/07/24(月) 10:05:17ABC.dllにABC.dllとABC.netmoduleと二つのモジュールが並んで表示されているのは
マニフェストにアセンブリはABC.dllとABC.netmoduleから構成されるという情報が書かれているから。
ABC.netmoduleを削除して実行してみるとわかるがエラーになる。
0090デフォルトの名無しさん
2006/07/24(月) 11:25:38System.Windows.Forms.TabPageを継承したUserControlを作るため、
新規ユーザーコントロールを作成し、
継承元をUserControl→TabPageにしたところ
デザインページでGUIの設計が出来なくなってしまいました。
UserControl以外のコントロールを継承してデザインするにはどうしたらいいでしょうか?
0091デフォルトの名無しさん
2006/07/24(月) 11:31:33普通にTabPageを継承したクラス作って中は空でもいいからビルド。
→ツールボックスにそのコントロールが表示される
→ポトペタ
0092デフォルトの名無しさん
2006/07/24(月) 11:33:320093デフォルトの名無しさん
2006/07/24(月) 11:33:470094デフォルトの名無しさん
2006/07/24(月) 11:41:13煽るだけならすっこんでろ。
0095デフォルトの名無しさん
2006/07/24(月) 11:59:410096デフォルトの名無しさん
2006/07/24(月) 12:55:39SelectionStartだと選択範囲の開始位置の取得になる。
0097デフォルトの名無しさん
2006/07/24(月) 15:13:38デザインページでコントロールを貼り付ける対象じゃないから。
0098デフォルトの名無しさん
2006/07/24(月) 15:15:36コンテナも知らんのか。お前は。
0099デフォルトの名無しさん
2006/07/24(月) 16:04:22不可能って、できてる思うんだが…?
何が気に入らないんだ?
010085
2006/07/24(月) 17:36:35つまり、モジュールとは「アセンブリを構成するファイル」ということなのでしょうか。
そうだとすれば >>85 のようになった原因や >>86 の話と辻褄が合いますし。
0101デフォルトの名無しさん
2006/07/24(月) 18:20:57のようにリンクラベルから起動したExplorerのURL読み込み完了
を確認する方法はありませんか?
0102デフォルトの名無しさん
2006/07/24(月) 18:43:07まあだいたいそんなもんだ。
DLL(つまりアセンブリ)自体が持つ事もできるけどな。
010397
2006/07/24(月) 18:46:16VSのGUIでレイアウトするのは不可能って結論なのでしょうか?
普通にUserControlを継承したクラスにいろいろ貼り付けて、
使う側でTabContorlにTabpage入れて、
そのTabPageにつくったUserControlはるしかないってことですか?
0105デフォルトの名無しさん
2006/07/24(月) 20:26:43PanelのVisibleでやってる。
010779
2006/07/24(月) 22:22:30レスありがとうございます。
意図が伝わらなかったようなので、質問の仕方を変えてみます。
PropertyInfo の GetValue に相当するものは、
EventInfo にはないのでしょうか?
AddEventHandler と RemoveEventHandler があるのに、
GetEventHandler(s) に相当するのがあれば解決なんですけど・・・。
0108デフォルトの名無しさん
2006/07/24(月) 22:49:33そう言う事です。
0109デフォルトの名無しさん
2006/07/24(月) 23:20:21add/remove以外にも、なんか付けられるようだけど、あれは一体なんだろう
0110デフォルトの名無しさん
2006/07/24(月) 23:25:11VBやらC++/CLIでは言語レベルでサポート
0111デフォルトの名無しさん
2006/07/24(月) 23:33:200112デフォルトの名無しさん
2006/07/25(火) 00:35:34ああ、そういうことか。
言いたいことはわかったが、やっぱり無理。
なぜプロパティは可能かというと、プロパティというのは
取得、設定という機能が動作として定義されてて、それを呼び出せるから。
一方イベントは、追加と削除という動作が定義されてるだけ。
よって現在の設定リストを取得することはできない。
ぶっちゃけ、現在の設定リストがデリゲートとして存在してるかも保証できない。
イベントはあくまで「追加と削除」しかインターフェイスとして規定されてないから。
0113デフォルトの名無しさん
2006/07/25(火) 00:37:42Componentだけが対象だとひょっとして不可能ではないかもしれないが、
汎用的な方法は>>112のとおり存在しないな。
0114デフォルトの名無しさん
2006/07/25(火) 00:45:15いずれにしても、標準化されてなかったりVBやC#から直接的には扱えない以上、今回の目的では使えないだろうが。
0115デフォルトの名無しさん
2006/07/25(火) 01:07:33自分からスタンバイさせるのはApplication.SetSuspendState(PowerState.Suspend, false, false);
とかでいけそうな感じなのですが。
011685
2006/07/25(火) 02:04:06回答して下さった皆様、ありがとうございました。
0117デフォルトの名無しさん
2006/07/25(火) 05:46:48なんかメッセージが来るから WndProc で受けてそれの Result でキャンセル
0118デフォルトの名無しさん
2006/07/25(火) 07:43:02疑問解けたのならその内容を書いとけよ。
0119デフォルトの名無しさん
2006/07/25(火) 07:58:59SendKeys.SendWait("{F1}");
としてもうまく動作しません。
なにかほかに必要な処理があるのでしょうか?
0120デフォルトの名無しさん
2006/07/25(火) 08:08:38フックも騙せないよな
0121デフォルトの名無しさん
2006/07/25(火) 08:26:20メモ帳とか電卓で試してみたら?
0122119
2006/07/25(火) 08:26:44すいませんF1キーについては動作しておりました。。
ctrlキーとあわせた"^A"などのキー送信で動作していないようです・・・
0123119
2006/07/25(火) 08:38:09失礼しました!
0124デフォルトの名無しさん
2006/07/25(火) 09:06:230125デフォルトの名無しさん
2006/07/25(火) 10:59:09ソリューションエクスプローラより
参照設定→参照の追加→COM→Microsoft word 11.0 object libraryを選択し、OKとしました。
そして、
using Word = Microsoft.Office.Interop.Word;
と記載しました。
しかし、
警告1パスの形式が無効です。00
エラー2型または名前空間名 'Interop' は名前空間 'Microsoft.Office' に存在しません。アセンブリ参照が不足しています。D:\Software\MyApplication\gifu\gifu\CWord.cs831gifu
エラー3名前空間 '<グローバル名前空間>' は、エイリアス 'Word' と競合する定義を含んでいますD:\Software\MyApplication\gifu\gifu\CWord.cs1312gifu
エラー4名前空間 '<グローバル名前空間>' は、エイリアス 'Word' と競合する定義を含んでいますD:\Software\MyApplication\gifu\gifu\CWord.cs1412gifu
エラー5名前空間 '<グローバル名前空間>' は、エイリアス 'Word' と競合する定義を含んでいますD:\Software\MyApplication\gifu\gifu\CWord.cs1512gifu
エラー6名前空間 '<グローバル名前空間>' は、エイリアス 'Word' と競合する定義を含んでいますD:\Software\MyApplication\gifu\gifu\CWord.cs19435gifu
エラー7型または名前空間名 'Interop' は名前空間 'Microsoft.Office' に存在しません。アセンブリ参照が不足しています。D:\Software\MyApplication\gifu\gifu\CMain.cs929gifu
と言われてしまいました。
何が問題なのでしょうか。お仕事中申し訳御座いませんが、よろしくお願いします。
0126125 ◆tsGpSwX8mo
2006/07/25(火) 11:02:27ソース上部は、↓です。
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Windows.Forms;
using System.Drawing;
using System.Drawing.Imaging;
using Word = Microsoft.Office.Interop.Word;
class CWord
{
#region Variables
public Word.Application myAppli;
public Word.Document myDoc;
public Word.Selection mySel;
private FileInfo fileinfo;
0127125 ◆tsGpSwX8mo
2006/07/25(火) 11:13:20WOrd2003をインストールする際に表示される
インストール部品の選択画面にて、
[.NET プログラミング サポート] をインストールしない設定にしていたために、
http://www.microsoft.com/japan/msdn/office/office2003/OfficePrimaryInteropAssembliesFAQ.aspx#officeprimaryinteropassembliesfaq_gettingtheoffice2003pias
PIA(http://www.microsoft.com/japan/msdn/library/ja/jpstagsdk/html/stconTrustIAs.asp)が
インスコールされておらず、それが原因で、
Microsoft.Office.Interopを参照できなかったみたいです。
とりあえず解決したので、ご報告しました。ばいばーい。
0128デフォルトの名無しさん
2006/07/25(火) 12:11:56�@double a, s;を使わない。time(NULL)・double y, w = 0.0;も使わない。
�A実行時にy[ ] =を表示しないで、数値のみを表示する。
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
void main(void)
{
int i, j;
double a, s;
srand((unsigned)time(NULL));
printf("a s = ");
scanf("%lf %lf", &a, &s);
printf("a = %lf\n", a);
printf("s = %lf\n", s);
for(i = 0; i < 100; i++){
double y, w = 0.0;
for(j = 0; j < 12; j++)
w += (double)rand() / (double)RAND_MAX;
y = s * (w - 6) + a;
printf("y[%2d] = %lf\n", i, y);
}
getchar();
}
スレ違いのときはスイマセン
0129デフォルトの名無しさん
2006/07/25(火) 12:14:250130デフォルトの名無しさん
2006/07/25(火) 12:15:30あなたが思っている以上にスレ違いです。
学校生活ってのは知識を磨くか要領を磨くかですわ。
勉強する気がなくて要領も悪い、なんて言うか今すぐその学校やめて別の道に進むべきだ。
0131デフォルトの名無しさん
2006/07/25(火) 12:16:310132128 ◆oBVIHc0QSg
2006/07/25(火) 12:22:540133デフォルトの名無しさん
2006/07/25(火) 12:23:340134デフォルトの名無しさん
2006/07/25(火) 12:36:24C ≠ C♯
0135デフォルトの名無しさん
2006/07/25(火) 12:37:240136デフォルトの名無しさん
2006/07/25(火) 12:43:520137デフォルトの名無しさん
2006/07/25(火) 13:14:000138デフォルトの名無しさん
2006/07/25(火) 13:36:44いま、test.xsd に次のようかかれているものとして
<xsd:element name="test">
<xsd:complexType>
<xsd:attribute name="no" type="xsd:int" use="required" />
<xsd:attribute default="0" name="type" type="xsd:int" use="optional" />
<xsd:attribute default="0" name="time" type="xsd:int" use="optional" />
</xsd:complexType>
</xsd:element>
xml には type と time の要素を省略して書いたとき
<test no="100" />
XmlReader の MoveToNextAttributeで読んでくる要素の中に、省略により
期待する type="0" と time="0" が得られずに困っています。
なにか、XmlReaderの設定に抜けがあるでしょうか?
XmlReaderSettings settings = new XmlReaderSettings();
settings.ValidationType = ValidationType.Schema;
settings.ValidationFlags |= XmlSchemaValidationFlags.ProcessInlineSchema;
settings.ValidationFlags |= XmlSchemaValidationFlags.ReportValidationWarnings;
XmlUrlResolver resolver = new XmlUrlResolver();
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials;
settings.XmlResolver = resolver;
settings.IgnoreWhitespace = true;
settings.IgnoreComments = true;
settings.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack);
XmlReader reader = XmlReader.Create(file_name, settings);
・
・
0139128
2006/07/25(火) 15:40:090140138
2006/07/25(火) 15:54:23XmlValidatingReaderにしたらちゃんと、省略要素もreaderに出現
するようになりました。
なにかsettings が足りないだけなのかな?
とりあず、XmlValidatingReaderで対応しました。どなたか根本的な
原因わかりましたら、教えてください。
0141デフォルトの名無しさん
2006/07/25(火) 15:54:39【開発中のプログラム】Web上からのファイルダウンロードアプリ
ダウンロードは出来るのですがその間アプリが固まります
BackgroundWorkerコントロールを使えば固まらなくはなりますが、例えば
listBox1.Text = i.ToString() + "個目のファイルをダウンロード中";
と表示させようとすると
《コントロールが作成されたスレッド以外のスレッドからコントロール 'label1' がアクセスされました。》
とエラーが出ます
どうすれば固まらずに、取得状況を表示させることが出来るでしょうか?
ヒントだけでもいいので教えてください
BackgroundWorkerやスレッド等のわかりやすいサンプルやC#リファレンスのあるサイトなんかも教えてもらえればありがたいです
僕は↓の2サイトくらいしか実用的なサイトを見つけられませんでした
ttp://www.geocities.jp/takamori700/index.htm
ttp://www.atmarkit.co.jp/fdotnet/csharp_abc2/index/index.html
0142デフォルトの名無しさん
2006/07/25(火) 15:59:21コントロールさわるならReportProgressメソッド /ProgressChanged イベント
http://www.google.co.jp/search?sourceid=navclient&ie=UTF-8&q=C%23+%E3%83%9E%E3%83%AB%E3%83%81%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89
0143141
2006/07/25(火) 16:42:02とりあえずBackgroundWorkerでいけそうな気がするので組み込んで試してみることにします
ComplateメソッドとボタンのEnableを変更することである程度形になってきました
まだ途中経過の表示はうまくいきません。実行中は途中経過を頭の中で想像してボーっと待ってる状態です。
ReportProgressメソッド /ProgressChanged イベント の使い方がいまいちわかってないような気がします
0144デフォルトの名無しさん
2006/07/25(火) 19:03:27次々と処理が行われてしまい。timer.Intervalが意味をなしません。
while,for文ないにて処理を待機させるうまい方法はありませんでしょうか?
0145デフォルトの名無しさん
2006/07/25(火) 19:15:48Thread.Sleep とか使うか、そもそもタイマ使うならループいらんだろ。
0146デフォルトの名無しさん
2006/07/25(火) 21:28:32ループでセマフォ待ち。タイマでセマフォ解除。
これでメッセージループ相当のループが作れる。
0147デフォルトの名無しさん
2006/07/25(火) 22:08:10private void button1_Click(object sender, EventArgs e)
{
mshtml.HTMLDocument doc = new mshtml.HTMLDocument();
mshtml.IHTMLDocument2 doc2 = doc.createDocumentFromUrl("http://www.yahoo.co.jp/", null) ; // ★
this.textBox1.Text = doc2.body.innerText;
}
★の行で、
System.AccessViolationException: 保護されているメモリに読み取りまたは書き込み操作を行おうとしました。
他のメモリが壊れていることが考えられます。
というエラーが発生しました。
原因がわかりません。よろしくお願いします。(´・ω・`)
0148デフォルトの名無しさん
2006/07/25(火) 22:23:00つーかさ、#って+を4つ組み合わせたようにも見えるだろ?ようするにあ
れだ、C#の#ってのは++++って意味なんだぜ。
なんつーか、つまりC#からすればCってのは4世代も昔の遺物だってこと。
いい加減お前の学校がいかに時代遅れかわかったか?
ねごとは寝て言えよな。
0149デフォルトの名無しさん
2006/07/25(火) 22:27:310150デフォルトの名無しさん
2006/07/25(火) 22:37:25いざ仕込んでみようと思っても
意外と難しいもんなんだよ。
お前にできんのか?上手な仕込みが。
人をけなす前にやってみろよ。
0151デフォルトの名無しさん
2006/07/25(火) 22:38:090152デフォルトの名無しさん
2006/07/25(火) 22:41:240153デフォルトの名無しさん
2006/07/25(火) 22:50:31い
意
お
人
?
0154デフォルトの名無しさん
2006/07/25(火) 22:59:53ん
し
き
す
0155デフォルトの名無しさん
2006/07/25(火) 23:01:06い
ん
ご
015679
2006/07/25(火) 23:47:39そうですか〜。
ヘルプに書いてないから無理なのかなぁとは思ってましたが、
やっぱり無理っすか〜。
なんか別の方法考えてみます。
ありがとうございました。
0157デフォルトの名無しさん
2006/07/26(水) 00:33:36ヘ
や
な
あ
0158147
2006/07/26(水) 07:55:52意外と簡単なことだった。。。w
0159デフォルトの名無しさん
2006/07/26(水) 11:21:47と定義した場合、
dic["hoge"]
で、要素にアクセスできますが、これを、
dic[0]
と、インデックスでアクセスする方法て何かないでしょうか?
0160デフォルトの名無しさん
2006/07/26(水) 11:32:340161デフォルトの名無しさん
2006/07/26(水) 12:09:000162デフォルトの名無しさん
2006/07/26(水) 12:19:350163デフォルトの名無しさん
2006/07/26(水) 12:32:420164デフォルトの名無しさん
2006/07/26(水) 13:42:44コードの意味を良く考えろ
0165デフォルトの名無しさん
2006/07/26(水) 14:55:13ハッシュをaddした順になめたいときってあるよね〜。
(phpだかperlは出来た気がする。)
キーを順番に格納するリストを作ればいいんじゃなかろうか。
dic[list[0]]
0166デフォルトの名無しさん
2006/07/26(水) 15:05:29ジェネリックはないが。
0167デフォルトの名無しさん
2006/07/26(水) 15:58:070168デフォルトの名無しさん
2006/07/26(水) 16:04:35SortedList<T> がそれにあたるんじゃね?
0169デフォルトの名無しさん
2006/07/26(水) 16:12:18addしたときの順番は保証されない。
>>166
ソートされちゃってるからaddしたときの順番は保証されない。
0170デフォルトの名無しさん
2006/07/26(水) 16:19:36SortedList<T> の Values は挿入時の順序保ってないな。
dic.Values[i] でアクセスできるけど、キーでソートされた順序になってる。
挿入時の順序保存したいなら、Dictionary と ArrayList で2重に持つべきかなぁ。
どうせクラスのインスタンス全部参照渡しなんだし、
コレクションクラス2重に持ってもそんな言うほど領域使わないし。
0171デフォルトの名無しさん
2006/07/26(水) 16:57:130172デフォルトの名無しさん
2006/07/26(水) 17:03:33やや注意は必要かもしれんが、基本的には普通に使える。
ってかなんでOrderedDictionaryじゃだめなの?
0173デフォルトの名無しさん
2006/07/26(水) 17:53:10色々ありがとうございます。
要は、インデックスの指定がstringでも、intでも使えたらと思いまして。
とりあえず、
>>165
さんと同じ結論で、Listにてインデックスもたせてますが、他にナイスな方法ないかなと。。。
でもOrderedDictionary もイけそうな感じですね。
特に挿入時の順序は意識していないので。。。
0174デフォルトの名無しさん
2006/07/26(水) 18:03:22子クラスつくる。だな。
0175デフォルトの名無しさん
2006/07/26(水) 18:05:25ふと思った、イテレータとかforeach構文とか知ってる?
0176デフォルトの名無しさん
2006/07/27(木) 01:05:29> 特に挿入時の順序は意識していないので。。。
つかな、OrderedDictionaryもNameValueCollection
普通にそういう目的で使えるものがあるのに、
なんでそれを使わんの?と俺は言いたいんだが。
どっちも追加順で保持されるようになってるぞ、念のため。
0177デフォルトの名無しさん
2006/07/27(木) 01:16:44ぶっちゃけ保持されてるよね(´・ω・`)
0178デフォルトの名無しさん
2006/07/27(木) 01:32:40何言ってんだ?
0179デフォルトの名無しさん
2006/07/27(木) 01:35:07List<T>が順番保持保証されてないなんてありえないだろ。
0180デフォルトの名無しさん
2006/07/27(木) 01:45:290181デフォルトの名無しさん
2006/07/27(木) 02:24:410182デフォルトの名無しさん
2006/07/27(木) 02:41:030183デフォルトの名無しさん
2006/07/27(木) 15:32:45プログラムからクリックと同じ動作をさせるにはどうしたらいいのでしょうか?
sendkeyみたいなものがあればいいです。
使用バージョン:.net1.1
0184デフォルトの名無しさん
2006/07/27(木) 15:39:33?
0185デフォルトの名無しさん
2006/07/27(木) 15:40:320186183
2006/07/27(木) 15:44:09どう処理したらいいですか?
この処理もSendMessageを頼りに探せばいいですか?
0187デフォルトの名無しさん
2006/07/27(木) 15:53:12まずさ、>>183の回答がなんで「SendMessage」なのかを理解しろや
0188183
2006/07/27(木) 18:32:270189デフォルトの名無しさん
2006/07/27(木) 18:42:59ドロップのエミュレートはできるけど
0191デフォルトの名無しさん
2006/07/27(木) 19:50:26最近プログラムを始めた初心者です。
C#で現在時刻をグリニッジ時間に変更するプログラムを作ろうとして
下記のプログラムを組みました。
DateTime dt = DataTime.Now;
DateTime input;
input = dt.ToUniversalTime();
しかし変換した時間はローカルの時間より1時間だけ前になっていました。
このプログラム、どこかおかしいですか?
ちなみにローカルはJAPANESEです。
よろしくお願いします。
0192デフォルトの名無しさん
2006/07/27(木) 20:37:51ヒント:夏時間
0193デフォルトの名無しさん
2006/07/27(木) 20:45:160194デフォルトの名無しさん
2006/07/27(木) 20:49:52マウスのボタンを離す
0195デフォルトの名無しさん
2006/07/27(木) 21:13:32すみません。馬鹿な私にもう少しヒントを教えてください
0196デフォルトの名無しさん
2006/07/27(木) 21:40:22。 。
。 。 。 。 ゚
。 。゚。゜。 ゚。 。
/ // / /
( Д ) Д)Д))
0197デフォルトの名無しさん
2006/07/27(木) 21:50:12ヒント:キングクリムゾン
0198デフォルトの名無しさん
2006/07/27(木) 22:36:37ニュー・スコットランドヤード
0199デフォルトの名無しさん
2006/07/27(木) 22:39:150200デフォルトの名無しさん
2006/07/27(木) 22:44:130201デフォルトの名無しさん
2006/07/27(木) 22:49:200202デフォルトの名無しさん
2006/07/27(木) 22:49:400203デフォルトの名無しさん
2006/07/28(金) 00:18:310204デフォルトの名無しさん
2006/07/28(金) 00:21:38ドラックドロップすることでDL保存し、ファイル名を取得したいのですが
よい方法はありませんか?
0205デフォルトの名無しさん
2006/07/28(金) 00:25:460206デフォルトの名無しさん
2006/07/28(金) 00:48:50まず実際にフォームに D&D して渡された IDataObject をじっくり調べろ。
話はそれからだ。
0207デフォルトの名無しさん
2006/07/28(金) 00:51:34private void Form1_DragDrop( object sender, DragEventArgs e )
{
string[] fileName =( string[]) e.Data.GetData( DataFormats.FileDrop );
MessageBox.Show( fileName[0] );
}
private void Form1_DragEnter( object sender, DragEventArgs e )
{
if( e.Data.GetDataPresent( DataFormats.FileDrop ) )
e.Effect = DragDropEffects.All;
else
e.Effect = DragDropEffects.None;
}
0208204
2006/07/28(金) 01:21:580209デフォルトの名無しさん
2006/07/28(金) 01:24:42具体的には以下の操作をしている間、再描画を抑止したいんです。
現在のスクロール状態(と選択状態)を記憶
↓
Textの最後尾に文字列を追加
↓
最初の状態に戻す
この操作自体は問題なくできているんですが、テキスト量が多くなってくると
キャレットが行ったり来たりするせいで激しく画面がちらついて困っています。
0210デフォルトの名無しさん
2006/07/28(金) 01:32:400211デフォルトの名無しさん
2006/07/28(金) 03:53:00なるほどウィンドウメッセージ直接送るのが手っ取り早いですか。
WM_SETREDRAWしてみたら最初の状態を記憶する必要がなくなって
それは良かったんですが
テキストが描画されているエリアは相変わらずちらついてしまいます…。
ただスクロールバーは飛び回らなくなったんである程度は抑止できてるみたいです。
0212デフォルトの名無しさん
2006/07/28(金) 14:12:020213デフォルトの名無しさん
2006/07/28(金) 16:26:09Visibleのオンオフ、Enableのオンオフ、どっちもちらつきます。
しかもこの方法を使うとフォーカスが次のコントロールに移ってしまいますし…。
Delphiの時みたいに更新中はコントロールのBitmapイメージ貼り付けるとか
しないとだめそうですね。
とりあえず色々アドバイス頂けましたが諦めることにしました。
ありがとうございます。
0214デフォルトの名無しさん
2006/07/28(金) 16:28:570215デフォルトの名無しさん
2006/07/28(金) 17:13:24画面全体がちらつくという、もう何が何だかわからない状況になりましたw
他のウィンドウでDirectX使ってるせいかなぁ?
0216デフォルトの名無しさん
2006/07/28(金) 20:32:330217デフォルトの名無しさん
2006/07/28(金) 20:56:18非同期POST送信をしてるんですが、
サーバへのPOST送信とサーバ出力受信は、非同期なんで別のスレッド化して実行されてる
からだと思うんですが、このサーバとの送受信のときにMessageBoxを開いても、
本体のフォームに対してモーダルとならないんですが、どうしたらいいんでしょうか?
エラーなどのMessageBoxが出たら、これを閉じるまでは
本体のフォームは操作できないようにしたいんです。
0218デフォルトの名無しさん
2006/07/28(金) 20:59:430219デフォルトの名無しさん
2006/07/28(金) 21:49:470220デフォルトの名無しさん
2006/07/28(金) 21:52:480221デフォルトの名無しさん
2006/07/28(金) 21:52:560222デフォルトの名無しさん
2006/07/28(金) 21:58:090223217
2006/07/28(金) 22:00:03の"非同期で POST する場合のパターン"で
フォームのボタンを押すとRequestが呼ばれるって感じです。
で、ReadCallBackとWriteCallBackでMessageBoxを呼んだときにフォームに対して>>217
をしたいんだがわからねぇ…orz
>>218だけでは、漏れには無理でした…orz
0224デフォルトの名無しさん
2006/07/28(金) 22:09:47ありがとうございました
0225デフォルトの名無しさん
2006/07/28(金) 22:41:47SizeF stringSize = g.MeasureString(str, fnt, bmp.Width);
g.DrawString(str, fnt, b, bmp.Width - stringSize.Width , height);
としたのですが、文字の一番右のピクセルがbmpの右端に揃わずにガタガタになってしまいます。
MeasureStringの素の値を使うと何か問題があるのでしょうか?
0226デフォルトの名無しさん
2006/07/28(金) 22:49:410227デフォルトの名無しさん
2006/07/28(金) 23:15:58MeasureString メソッドは独立した文字列で使用するようにデザインされており、
グリフの突出に対応するための少量の余白を文字列の前後に含めます。
また、DrawString メソッドはグリフのポイントを調整して表示品質を最適化するため、
MeasureString で報告されるよりも狭い範囲に文字列が表示される可能性があります。
以上、ドキュメントより。
よくわかんないけど、ようするにMeasureString とDrawString で一致しないことがあるよ、て感じ?
0228デフォルトの名無しさん
2006/07/28(金) 23:24:20実行中のスレッドとは異なるスレッドのスタックトレースを取得するためにスレッドを一時停止状態にしたいのですが、
Thread.Suspend() と Thread.Resume() は deprecated だそうです。
.Net Framework 2.0 ではどのようにすればよいのでしょうか?
0229225
2006/07/28(金) 23:42:30stringformatでググってみて以下のようにしてうまくいきました。
StringFormat sf = new StringFormat();
sf.SetMeasurableCharacterRanges(new CharacterRange[]{new CharacterRange(0,str.Length)});
Region[] reg = g.MeasureCharacterRanges(str, fnt, new Rectangle(0, 0, 1000, 1000), sf);
g.DrawString(str, fnt, b, bmp.Width - reg[0].GetBounds(g).Width , height);
0230デフォルトの名無しさん
2006/07/29(土) 00:13:56>>218が大変だったなあ、とふと思った
>>223
非同期にPOSTしてるんだから、MessageBoxを開いてるのも非同期、
つまりもとのフォームから見たらモードレスだ。当然だ。
フォームのスレッド: →→→→┬→→→→→→→→→→→→→→
↓
POSTのスレッド: POST→→→MessageBox.Show
これが正しい
フォームのスレッド: →→→→┬→→→MessageBox.Show→→→→→→→→
↓ ↑
POSTのスレッド: POST→→→Control.Invoke
0231223
2006/07/29(土) 09:13:43invokeやらdelegateやらでググりまくってなんとか…
サーバ通信とフォーム処理は別々のクラスにしてて、
フォーム処理のクラスにMessageBox.show処理をするメソッドを書いて、
サーバのクラスでこの非同期POST送信、受信のときに
このメソッドをControl.BeginInvokeもしくは、Control.Invokeするようにしたら、
>>230の下の処理の流れのようにできました。
上のやり方でいけたのですが、なんかおかしかったらご指摘お願いします。
私の説明も分かりづらいですが…
>>218,230
ありがとうございました。開発時間が限られてるので、助かりました。
0232デフォルトの名無しさん
2006/07/29(土) 10:51:180233228
2006/07/29(土) 10:56:46#pragma warning disable 0618
とでもすることにします。
0234デフォルトの名無しさん
2006/07/29(土) 12:46:170235デフォルトの名無しさん
2006/07/29(土) 12:54:230236最凶VB厨房
2006/07/29(土) 13:17:000237デフォルトの名無しさん
2006/07/29(土) 13:20:030238デフォルトの名無しさん
2006/07/29(土) 13:23:14イヴェントはデリゲートを使ってるだけ。
0239デフォルトの名無しさん
2006/07/29(土) 13:27:520240最凶VB厨房
2006/07/29(土) 13:37:43デリゲートはイベントを使えるようにする時に使う。
デリゲートは非同期呼び出しをする時に使う。
デリゲートはファンクタを作りたい時に使う。
以上。
0241デフォルトの名無しさん
2006/07/29(土) 13:37:50まあ、かゆみにはなw
0242デフォルトの名無しさん
2006/07/29(土) 13:50:05インキンにも効きますか?
0243デフォルトの名無しさん
2006/07/29(土) 13:51:03インキンにはキンカン
0244デフォルトの名無しさん
2006/07/29(土) 13:56:220245デフォルトの名無しさん
2006/07/29(土) 13:57:520246デフォルトの名無しさん
2006/07/29(土) 14:29:34を、VS2005 Std. で試してみているのですが:
|続いて、レンダリング(描画処理)のためのコードを記述します。クラスビューより
|OnPaint イベントを選択し、右ボタンクリックによるコンテキストメニューから [追加 - オーバーライド] を選択します。(図2)
0247246
2006/07/29(土) 14:32:44|続いて、レンダリング(描画処理)のためのコードを記述します。クラスビューより
|OnPaint イベントを選択し、右ボタンクリックによるコンテキストメニューから
|[追加 - オーバーライド] を選択します。(図2)
クラスビューでButtonBase内にOnPaintがありますが、ここで[追加 - オーバーライド]
という項目が出ません。
よろしくお願いします。
0248デフォルトの名無しさん
2006/07/29(土) 15:06:04protected overrideまで打てばあと補完してくれるっしょ
0249デフォルトの名無しさん
2006/07/29(土) 15:19:50何かの処理を担当するクラスのメソッドを呼んで
同期的に処理させているとき、処理経過を
呼出元フォームのステータスバーかなんかに
表示させたいとする。
この場合、処理クラスから呼出元フォームは見えない
(相互参照を避けるために、処理クラスの参照を
呼出元フォームに渡さないように設計するのが普通)
から、こういうときにデリゲートやイベントを使う。
漏れは以前はデリゲートを多用していたんだが、
最近ではもっぱらイベントを使うようにしている。
とくにVBでプログラムするときは、記述が容易だから
イベントの方を使う。
0250249
2006/07/29(土) 15:21:43(相互参照を避けるために、呼出元フォームの参照を
処理クラスに渡さないように設計するのが普通)
だ。
0251デフォルトの名無しさん
2006/07/29(土) 15:22:30D:\Projects\MyProjects\MyCustomButtonControl\MyCustomButtonControl\MyCustomButtonControl\GradientButton.Designer.cs
となります…
0252デフォルトの名無しさん
2006/07/29(土) 15:44:10むしろprotectedいらん。override[スペース]ってうってみな
0253246
2006/07/29(土) 16:08:01protected override void OnPaint(PaintEventArgs pevent)
に補完されます。
ひょっとすると、図2にあるような、プロパティーウィンドウにOnPaintが出ないので、そこが問題でしょうか?
0254デフォルトの名無しさん
2006/07/29(土) 16:12:380255デフォルトの名無しさん
2006/07/29(土) 16:20:10>右ボタンクリックによるコンテキストメニューから [追加 - オーバーライド] を選択します。
の機能は無くなってるのかな
必要ないとは思うけど
0256246
2006/07/29(土) 16:40:06GradientButton.csのデザイナで、名前を"Button1"から"GradientButton_Paint"に変更すると
ビルド通りました。
ご助言ありがとうございました。
0257デフォルトの名無しさん
2006/07/29(土) 19:49:41どのようにしたら取得できますか?
それとも、shell32.dll の Shell_NotifyIcon を使って、自前で用意するべきですか?
0258デフォルトの名無しさん
2006/07/29(土) 20:06:36それで何をしたいんだ?
0259デフォルトの名無しさん
2006/07/29(土) 20:18:38あー、うん。1.1 でバルーン付けて欲しいって言われまして。
けど CodeProject に思いっきり探していたのあったんで、今回はそっち使います。
おさわがせしましたほんとすんません(;´Д`)
0260デフォルトの名無しさん
2006/07/30(日) 02:09:20[Hoge(Name="", DataType="", XXX=""]のように宣言できて、ちょっとかっこよくない?
コンストラクタ書かなくて済むし。
(Hogeオブジェクトの配列がアプリの初期値として必要な場合)
0261デフォルトの名無しさん
2006/07/30(日) 10:46:27DoDragDropを実行したControl以外から、キャッチする方法ってないですか?
どのControlからDoDragDropされても、独自のドラッグエフェクトを出すようなControlを作りたいのですが。
例えば、TreeViewのサブクラスでTreeNodeを半透明化して表示して、
フィードバックのDragEffectで表示を変えるようにしたいです。
0262デフォルトの名無しさん
2006/07/30(日) 14:50:49visual basicの方が良くね?
0263デフォルトの名無しさん
2006/07/30(日) 14:51:23VBの方が中途半端。
0264デフォルトの名無しさん
2006/07/30(日) 15:00:07http://pc8.2ch.net/test/read.cgi/tech/1106538237/
0265デフォルトの名無しさん
2006/07/30(日) 15:20:10おまいらどうしてどっちか一方に決めようとするの?(・∀・)
0266デフォルトの名無しさん
2006/07/30(日) 15:26:460267デフォルトの名無しさん
2006/07/30(日) 15:27:00その逆はどうやってやるのでしょうか?
0268デフォルトの名無しさん
2006/07/30(日) 15:45:470269デフォルトの名無しさん
2006/07/30(日) 16:44:02http://ex16.2ch.net/test/read.cgi/news4vip/1154167137/
まとめ
http://vanbl.blog.shinobi.jp/
現在新しい専ブラを開発中ですプログラミングに詳しい方
>>1にアドバイスをお願いします
0270デフォルトの名無しさん
2006/07/30(日) 17:11:390271デフォルトの名無しさん
2006/07/30(日) 17:12:37for(;;){
str = str + i;
}
みたいなびっくりするほどユートピアなプログラムを書くつもりだろ
0272デフォルトの名無しさん
2006/07/30(日) 17:25:540273デフォルトの名無しさん
2006/07/30(日) 17:27:380274デフォルトの名無しさん
2006/07/30(日) 17:28:32VCみたいにメッセージをリソースとして別ファイルに定義しておいて
間単に読み込むことって標準で提供されてないですか?
0275デフォルトの名無しさん
2006/07/30(日) 17:29:21ローカリゼーションとかで MSDN 調べてみれ
0276デフォルトの名無しさん
2006/07/30(日) 18:46:01どなたか御存知でしたら教えてください。
System.Text.Encoding enc = System.Text.Encoding.GetEncoding("utf-8")
byte[] dataBytes = System.Text.Encoding.ASCII.GetBytes(data)
のように、文字列を UTF-8 に変換して、Linux に渡しています。
今試したなかでは、(株) (実際には1文字)なども正しく Linux に
渡せているのですが、Windows 側の文字列(unicode?) を
UTF-8 に変換し、Linux に渡した時に
Linux で認識できない文字列が発生する事は考えられますか?
0277デフォルトの名無しさん
2006/07/30(日) 18:50:49Linux 側に対応するフォントがなければ表示できないかもしれない。
0278デフォルトの名無しさん
2006/07/30(日) 19:08:24フォントの問題で表示できなかったりはするだろうが。
非 Unicode な文字コードが絡んでくると問題も出てくるがね。Wave Dash とか。
0279276
2006/07/30(日) 19:09:19ありがとうございます。
フォントについては Linux 側の問題なのであきらめるとして、
> UTF-8 で表現できない文字があるかもしれない。
これを調べる方法、情報のあるサイトなど御存知でしたら
アドバイスを頂けるとうれしいです。
よろしくお願いします。
0280276
2006/07/30(日) 19:14:15ありがとうございます。
Windows (.NET Framework?) を使う上において、
非 Unicode な文字コードというのはあつかえるのでしょうか?
Windows 上の文字列は全て Unicode なのかな、と思っていましたが
誤解してますか?アドバイスよろしくお願いします。
0281デフォルトの名無しさん
2006/07/30(日) 19:29:04「機種依存文字」でぐぐるといいと思うよ。
0282デフォルトの名無しさん
2006/07/30(日) 19:29:360283デフォルトの名無しさん
2006/07/30(日) 19:57:11カラム名を変更しても楽にするにはどうしたらよいですかね?
自分じゃ、カラム名をconstで宣言しといて、Select文はそれを使うとかくらいしか
思いつかないのですが、よい方法ありますか?
0284デフォルトの名無しさん
2006/07/30(日) 21:09:40C#でフォームの内側(枠をのぞいた部分)のサイズを取得する方法、または枠の太さを取得する方法はありますか?
0285デフォルトの名無しさん
2006/07/30(日) 21:11:560286デフォルトの名無しさん
2006/07/30(日) 21:14:040287ニート
2006/07/30(日) 23:49:19某ネトゲで使用していたのですが、バージョンアップ以降
使えなくなりました・・・
keybd_eventのAPIを使ってキー押下を実行していたのですが、
この方法以外に何かありますでしょうか?(;´Д`)
より低水準な方法ってなんでしょうか
0288デフォルトの名無しさん
2006/07/30(日) 23:52:230289デフォルトの名無しさん
2006/07/31(月) 00:07:330290デフォルトの名無しさん
2006/07/31(月) 00:10:350291デフォルトの名無しさん
2006/07/31(月) 00:45:42本当にありがとうございました
0292デフォルトの名無しさん
2006/07/31(月) 05:49:06使う人に罪があるんだ!
0293デフォルトの名無しさん
2006/07/31(月) 08:56:520294デフォルトの名無しさん
2006/07/31(月) 11:27:230295デフォルトの名無しさん
2006/07/31(月) 11:35:180296デフォルトの名無しさん
2006/07/31(月) 11:38:090297デフォルトの名無しさん
2006/07/31(月) 13:30:550298デフォルトの名無しさん
2006/07/31(月) 13:36:570299デフォルトの名無しさん
2006/07/31(月) 14:07:57ttp://www.microsoft.com/japan/msdn/thisweek/10lines/extra_bottoncontrol.aspx
なのですが、VisualStudio2005 Std.で試しています。
| [プロジェクト - 新しい項目の追加]からビットマップファイルを作成し、
| [ビルドアクション] を [埋め込まれたリソース] に変更します。(図5)
上記のようにしましたが、GradientButton.bmpをツールボックスのビットマップファイル
に反映できません。
よろしくお願いします。
0300デフォルトの名無しさん
2006/07/31(月) 15:05:28「辺」に「点」はない
「点」が存在した地点で「辺」は終わる
0301デフォルトの名無しさん
2006/07/31(月) 15:17:25点が至る所に存在するんだよ
0302デフォルトの名無しさん
2006/07/31(月) 16:24:530303デフォルトの名無しさん
2006/07/31(月) 16:49:500304デフォルトの名無しさん
2006/07/31(月) 17:28:420305デフォルトの名無しさん
2006/07/31(月) 17:54:09線は点の無限集合だ。
0306デフォルトの名無しさん
2006/07/31(月) 18:32:17学校でC#を使い「画像を動かしてプログラムをつくる」ということを
テーマにして勉強しています。
ですが、どうしても3つ以上の画像を動かそうものなら動きがガクガクに
なって使い物にならなくなってしまっています。
画像は基本的に30×30のgifです(大きくてもせいぜい50*50)。
画像を動かすことのコツなどあれば教えていただきたいです
漠然とした質問ですいません。お願いします
0307デフォルトの名無しさん
2006/07/31(月) 18:36:12つ【directX】
0308デフォルトの名無しさん
2006/07/31(月) 18:37:160309デフォルトの名無しさん
2006/07/31(月) 18:40:22DirectXやFlashはまだやったことないのですが
いい機会なので挑戦してみます
0310デフォルトの名無しさん
2006/07/31(月) 18:43:35ダブルバッファ
0311デフォルトの名無しさん
2006/07/31(月) 19:29:21で状態を得て、 「A」 が押されていないときの処理を書きたいとしたら
どのようにすればいいですかね?
0312デフォルトの名無しさん
2006/07/31(月) 20:23:020313デフォルトの名無しさん
2006/07/31(月) 21:00:040314デフォルトの名無しさん
2006/07/31(月) 23:26:550315デフォルトの名無しさん
2006/07/31(月) 23:31:49あります
0316デフォルトの名無しさん
2006/07/31(月) 23:33:340317デフォルトの名無しさん
2006/07/31(月) 23:34:080318デフォルトの名無しさん
2006/08/01(火) 05:42:350319デフォルトの名無しさん
2006/08/01(火) 07:45:030320デフォルトの名無しさん
2006/08/01(火) 09:14:430321デフォルトの名無しさん
2006/08/01(火) 10:47:130322デフォルトの名無しさん
2006/08/01(火) 10:50:210323デフォルトの名無しさん
2006/08/01(火) 11:32:52なんかグラフィカルな開発環境を使ってるのか、あるいはそれを作るのか。
0324デフォルトの名無しさん
2006/08/01(火) 15:31:45で、同時にたくさん動かすとガクガクいうと
大人だったら少しはリア中の脳内を読んでやれよ
0325デフォルトの名無しさん
2006/08/01(火) 15:51:350326デフォルトの名無しさん
2006/08/01(火) 22:11:22まず自分。
0327デフォルトの名無しさん
2006/08/02(水) 13:42:44.netFramework2.0上でしか動かせなく困っています。
特に 2.0特有の記述もしてないので
.netFramework1.1上でも動作させたいのですが
方法はありますでしょうか?
どうぞよろしくお願い致します。
0328デフォルトの名無しさん
2006/08/02(水) 13:46:570329デフォルトの名無しさん
2006/08/02(水) 13:47:33でコンパイルする
0330デフォルトの名無しさん
2006/08/02(水) 13:55:170331デフォルトの名無しさん
2006/08/02(水) 13:58:290332デフォルトの名無しさん
2006/08/02(水) 14:07:240333デフォルトの名無しさん
2006/08/02(水) 14:34:49まあゴチャゴチャすんのは確かだが。
0334デフォルトの名無しさん
2006/08/02(水) 15:37:43C#で書いたプログラムはコンパイルするときに
.NET1.1 用と .NET2.0 用(あるいはそれ以降のバージョン)
という感じでいくつも配布用バージョン作る必要があるのでしょうか?
あと、ソースを書くときもそれぞれのバージョンを
意識しておく必要があるのでしょうか?
0335デフォルトの名無しさん
2006/08/02(水) 15:41:42>という感じでいくつも配布用バージョン作る必要があるのでしょうか?
全バージョンに対応したいならyes
>あと、ソースを書くときもそれぞれのバージョンを
>意識しておく必要があるのでしょうか?
全バージョンに対応したいならyes
0336デフォルトの名無しさん
2006/08/02(水) 15:49:26一昔前のブラウザのバージョンによってhtmlやjavascriptが
解釈の違いで苦労したようなことと同じようなことがあるのなら
使うのは止めようと思います
0337デフォルトの名無しさん
2006/08/02(水) 16:00:290338デフォルトの名無しさん
2006/08/02(水) 16:00:300339デフォルトの名無しさん
2006/08/02(水) 16:01:15普通はより下位のバージョンで動くものを配布すれば良いことになる。
しかし現実と理想は違うもので、完全に上位互換であるわけではないようだ。
0340デフォルトの名無しさん
2006/08/02(水) 16:30:11フリーウェア書くつもりなら2.0対応だけでいいんじゃね?
企業内とか環境が限定されるならその限りじゃないけど
個人的には1.xのコードは書きたくないぽ
0341デフォルトの名無しさん
2006/08/02(水) 16:52:37激しく胴衣
2.0使ったら1.xには戻りたくなくなる罠
0342デフォルトの名無しさん
2006/08/02(水) 17:06:470343デフォルトの名無しさん
2006/08/02(水) 17:07:170344デフォルトの名無しさん
2006/08/02(水) 17:08:00誰もが分かる煽りをするのは何故?
なんか面白いの?
0345デフォルトの名無しさん
2006/08/02(水) 17:08:48みんな知ってるそうだ
0346デフォルトの名無しさん
2006/08/02(水) 17:12:430347デフォルトの名無しさん
2006/08/02(水) 17:14:100348デフォルトの名無しさん
2006/08/02(水) 18:34:110349デフォルトの名無しさん
2006/08/02(水) 18:47:21C#やC++/CLIにたいして何のメリットがあるんだ
0350デフォルトの名無しさん
2006/08/02(水) 18:47:510351デフォルトの名無しさん
2006/08/02(水) 18:48:310352デフォルトの名無しさん
2006/08/02(水) 18:48:390353デフォルトの名無しさん
2006/08/02(水) 18:55:541.0 = C#
1.1 = も〜っと!C
2.0 = Cドッカ〜ン!
0354デフォルトの名無しさん
2006/08/02(水) 19:23:340355デフォルトの名無しさん
2006/08/02(水) 19:46:19ListBox や、親 Form のサイズやスタイルが変更された際、どのイベントから ListBox.Reflesh を行うべきですか?
Form や ListBox の Resize, StyleChanged イベントから Reflesh してみたんだけど、
ClientSize.Width が変更前の値なんですわ (・ω・`) 変更後の値を取るにはどうすれば……。
0356デフォルトの名無しさん
2006/08/02(水) 19:47:510357デフォルトの名無しさん
2006/08/02(水) 20:02:43DrawItem ではちゃんと変更後の値になってる…… (´;ω;`)
変更って、非同期に行われるんだっけ?
0358デフォルトの名無しさん
2006/08/02(水) 20:04:570359デフォルトの名無しさん
2006/08/03(木) 09:37:49移植することになりました。
comvisible を true にするだけで、public なクラスが COM に
公開されることはわかりました。
このとき、COM に公開されるプロパティを動的に生成する方法はありますでしょうか?
C++ の時は、IDispath::GetIDsOfNames と Invoke を自前で書く方法で対応していましたが、
これと同等のことは、C# でもできるでしょうか?
0360デフォルトの名無しさん
2006/08/03(木) 16:17:16マクロを実行する方法ってありますか?。参考になるページを教えて
頂けないでしょうか?
0361デフォルトの名無しさん
2006/08/03(木) 16:23:25http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=Excel+Object+Library+C%23&num=50
0362デフォルトの名無しさん
2006/08/03(木) 20:25:23キャプションが欠けます。
「〜〜〜追加する」とノードを追加すると、
「〜〜〜追加す」でキャプションが欠けてしまうのですが、調整する方法ありますか?
0363デフォルトの名無しさん
2006/08/03(木) 20:46:320364デフォルトの名無しさん
2006/08/03(木) 21:02:22っぽいです。
Boldのせいで欠けるようです。。。
0365デフォルトの名無しさん
2006/08/03(木) 21:04:110366デフォルトの名無しさん
2006/08/03(木) 21:28:45ありがとうございます
0367デフォルトの名無しさん
2006/08/03(木) 23:26:40web.DownloadFile(ファイルのURL, 保存するファイル名);
と処理してWebからファイルのDLをおこないたいのですが、
ファイルが存在しない場合、ダウンロードに失敗した場合などの処理は
どのように記述すればよいでしょうか?
0368デフォルトの名無しさん
2006/08/03(木) 23:29:450369367
2006/08/04(金) 01:42:080370デフォルトの名無しさん
2006/08/05(土) 16:24:17{
class DDD { DDD(string s) { } }
}
namespace Test{
public partial class Form1 : Form{
public Form1(){
InitializeComponent();
}
}
namespace A{
//class DDD { }
namespace B{
using DDD = A.DDD;
public partial class Form1 : Form{
public Form1(){
new CAA();
A.DDD d = new DDD();//グローバルのA.DDDになんで行かないのか。
}
}
}
}
}
こうかくとグローバルのA..DDDを見に行かないでTest.A.DDDにいってしまうんだけどこの仕様はコンパイラーのバグかね?
グローバルのA.DDDに行かせたいときはどんな指定をさせればいい?
0371デフォルトの名無しさん
2006/08/05(土) 16:55:59字下げがつぶれてよくわからんが、
using DDD = global::A.DDD じゃだめか。
0372デフォルトの名無しさん
2006/08/05(土) 17:29:17namespace A{
class DDD { DDD(string s) { } }
}
namespace Test{
public partial class Form1 : Form{
public Form1(){
InitializeComponent();
}
}
namespace A{
//class DDD { }
namespace B{
using DDD = A.DDD;
public partial class Form1 : Form{
public Form1(){
new CAA();
A.DDD d = new DDD();//グローバルのA.DDDになんで行かないのか。
}
}
}
}
}
>>371 解決しますた。
0373デフォルトの名無しさん
2006/08/05(土) 17:32:070374デフォルトの名無しさん
2006/08/05(土) 17:46:480375デフォルトの名無しさん
2006/08/05(土) 17:48:47半角で
0376デフォルトの名無しさん
2006/08/05(土) 18:03:320377デフォルトの名無しさん
2006/08/05(土) 21:09:49関数ポインタや配列とポインタについては調べたのですが、よくわかりません。
どなたかご教示ください。
0378デフォルトの名無しさん
2006/08/05(土) 21:21:05C#の質問だよな?
public string [ , ] func() か public string [][] func() を用途に応じて使い分ける。
0379デフォルトの名無しさん
2006/08/05(土) 21:23:520380デフォルトの名無しさん
2006/08/05(土) 21:25:17なるほど!!C#もやっているのでC#でやるときはそれを参考にします!教えてくださってどうもありがとうございました。
0381デフォルトの名無しさん
2006/08/05(土) 21:33:29「C☆相談室」みたいに#を区切りと見間違えてるのかな
0382デフォルトの名無しさん
2006/08/05(土) 22:13:25両方のスレ開いててさ・・
0383デフォルトの名無しさん
2006/08/06(日) 00:58:44やべ、「C☆」がちょっとツボにきた
0384デフォルトの名無しさん
2006/08/06(日) 14:47:04List<B>をList<A>として扱う又は変換するもっともよい手立ては何ですか?
ConvertAllしかない?
0385デフォルトの名無しさん
2006/08/06(日) 14:59:520386デフォルトの名無しさん
2006/08/06(日) 22:12:48たぶんやろうとしてることはリストそのものを変換する必要はないと思うぞ。
クラスAを引数に取る処理用メソッドにforeachで1要素ずつ渡すとかすれば
キャストも何も必要ない。
0387デフォルトの名無しさん
2006/08/06(日) 22:19:29http://msdn2.microsoft.com/ja-jp/library/ms228359.aspx
ここにかなり詳しく載ってるよ
0388デフォルトの名無しさん
2006/08/06(日) 22:19:50設計が悪いってのはわかる。
0389デフォルトの名無しさん
2006/08/06(日) 22:56:41ありがとう。ジェネリックの分散と呼ぶんですね。
参考になります。
>>388
どんな設計が悪くて、どうすれば悪くないか具体的に例をだして
頂けると有難いです。なぜ設計が悪いとわかるのですか?
0390デフォルトの名無しさん
2006/08/06(日) 23:03:54引数の型を具体化せずジェネリクスにすれば良いんじゃないか?
0391デフォルトの名無しさん
2006/08/06(日) 23:41:25IDictionary<K,V>.KeysをIDictionary.Keysと同様に使いたかっただけなんだけど。
ラッパ作るの単純作業でメンドイし。スニペットでもあればいいんだけど。
0392デフォルトの名無しさん
2006/08/07(月) 01:52:550393デフォルトの名無しさん
2006/08/07(月) 15:48:59ListBoxのSelectedIndexにあたるものがなくて困ってます。
IndexOfやらSelectedIndicesやらで
取れるのかと思い色々やってみたのですが、
うまくいきませんでした。
ご教示していただきませんでしょうか?
0394デフォルトの名無しさん
2006/08/07(月) 15:58:32TreeViewの行って何?
0395393
2006/08/07(月) 16:02:48ListViewで詳細表示の時です。
0396デフォルトの名無しさん
2006/08/07(月) 16:37:32SelectedIndicesで取れるはずだけど
0397デフォルトの名無しさん
2006/08/07(月) 17:21:03DisplayMemberをstring型のフィールドに、
ValueMemberをint型のフィールドに
バインドさせて表示しているのですが、Ctrl+0でnull値をセルに入力した場合、
DataGridView.DataError
[System.ArgumentException] = {"列 'カラム名' を Null に設定できません。DBNull を使用してください。"}
が発生してしまいます。
DisplayMemberをint型のフィールドに設定している時は起きなかったんですが
どうやって回避すればいいんでしょうか?
0398初心者
2006/08/07(月) 21:47:27初歩的な質問かと思うのですが、
string str = @"C:\temp\test.txt";
のように"@"でエスケープが不要になっている文字列がある場合、
この先頭の"@"だけを削除するAPIはないのでしょうか?
string型のRemoveなども試してみたのですが、
1バイト目を削除する、という指定をしたところ
上記の例では
@"C:\temp\test.txt"
↑
の"C"が削除されてしまいました。
どなたかご存知の方ご教授ください。
0399デフォルトの名無しさん
2006/08/07(月) 21:50:410400デフォルトの名無しさん
2006/08/07(月) 21:54:25@は文字列には含まれていない。あくまでもコンパイラが解釈するもの。
0401デフォルトの名無しさん
2006/08/07(月) 21:54:350402デフォルトの名無しさん
2006/08/07(月) 21:54:43@はstrには含まれない
0403デフォルトの名無しさん
2006/08/07(月) 22:01:34それ確認した時に@が文字としてはくっついていないことも確認できただろwwwwwww
ネタばればれだからwwww
0404デフォルトの名無しさん
2006/08/07(月) 22:02:27@"C:\temp\test.txt"
と
"C:\\temp\\test.txt"
は、どちらも
C:\temp\test.txt
を表す文字列を表記したコード
0405デフォルトの名無しさん
2006/08/07(月) 22:11:32なぜそういう処理を思いついたんだ?
@はC#構文の一部なわけだが、そこに何故か注目してしまったお前の脳内が気になる
単なる思い違いならそれはそれでいいのだが
0406デフォルトの名無しさん
2006/08/07(月) 22:39:00もしかして正規表現とかに突っ込むので
エスケープ文字を更にエスケープしたいってことか?
0407デフォルトの名無しさん
2006/08/07(月) 22:53:58はライブラリにありますでしょうか?
自分で書くしかないでしょうか?
0408デフォルトの名無しさん
2006/08/07(月) 22:57:150409デフォルトの名無しさん
2006/08/07(月) 23:23:56ContainsがTrueを返す限り、Removeを実行すりゃいい。
0410デフォルトの名無しさん
2006/08/07(月) 23:34:35要求を満たしてないうえに激しく非効率的だぞ
0411初心者
2006/08/08(火) 00:02:12レスありがとうございます。
元々はシステム上、文字列の長さに上限があり、
@が付いた場合、規定の文字列長を超えるのではと思ったことがきっかけです。
>@はstrには含まれない
>@は文字列には含まれていない。あくまでもコンパイラが解釈するもの。
上記についてなのですが、
例えば、
�@str = @"c:\temp\test.txt"; //length = 16
�Astr2 = "c:\\temp\\test.txt";//length = 16
�Bstr3 = "c:\temp\test.txt"; //length=14
と文字列長が変わってくると思うのですが、
これはやはりstrに"@"は含まれないのでしょうか?
とここまで書いてなんか自分が勘違いしている気が・・。
�@、�Aとも文字列長が同じ、�Bはそもそもファイルパスとして成立していないですし・・。
0412デフォルトの名無しさん
2006/08/08(火) 00:04:100413デフォルトの名無しさん
2006/08/08(火) 00:04:570414デフォルトの名無しさん
2006/08/08(火) 00:07:07いや分かってないから拘ってるんだろ
0415デフォルトの名無しさん
2006/08/08(火) 00:09:13凄まじく勘違いしてた。忘れてくれ。
0416デフォルトの名無しさん
2006/08/08(火) 00:09:18が表す文字列は
c:\temp\test.txt
ではなく
c: emp est.txt
0417デフォルトの名無しさん
2006/08/08(火) 00:10:090418デフォルトの名無しさん
2006/08/08(火) 00:13:100419デフォルトの名無しさん
2006/08/08(火) 00:49:55なんでもやってみることが大切 だと隣のおばあちゃんが言ってたぜ
0420デフォルトの名無しさん
2006/08/08(火) 01:33:070421デフォルトの名無しさん
2006/08/08(火) 08:34:380422デフォルトの名無しさん
2006/08/08(火) 09:47:050423デフォルトの名無しさん
2006/08/08(火) 12:41:030424デフォルトの名無しさん
2006/08/08(火) 15:03:060425デフォルトの名無しさん
2006/08/08(火) 15:06:36DLL側でTCARの配列(マルチバイトだから実質char)を返す関数をC#側でStringBuilderで受け取っています。
しかし、文字化けが起こってしまいます。
以下のような感じなのですが、どこを修正すればいいでしょう・・・
[DLL]
extern "C" __declspec(dllexport) LPTSTR hoge()
{
TCHAR a[256];
a = "hogehoge";
return a;
}
[C#]
static extern StringBuilder hoge();
この状態で呼び出すと4文字目ぐらいから文字化けします・・・
0426デフォルトの名無しさん
2006/08/08(火) 15:20:49ここに
Form1.cs
・・・
// 自分自身を保存するための変数
public static Form1 form1;
form1 = this;
・・・
Form2.cs
・・・
Form1.form1.textbox1〜
・・・
とかやってるけどこれっていいのか?
0427デフォルトの名無しさん
2006/08/08(火) 15:32:04うにこーどでないの?
C#の既定はAnsiだったきがする
>>426
何が?
0428デフォルトの名無しさん
2006/08/08(火) 15:37:14お前が「いいのか?」と疑問に思った理由は?
0430デフォルトの名無しさん
2006/08/08(火) 16:02:15Form1が複数有った場合にform1は常に自分が想定したform1になるの?
自分でいってておかしくなってきた。
0431デフォルトの名無しさん
2006/08/08(火) 16:14:04参照をもったメンバ変数を直接見せずに GetInstanceのような公開用メソッドを使うべきなんだろうし、
TextBox1もオブジェクトを直に触らせずに必要な操作だけラップして公開すべきなんだろうけどね。
あとForm1がシングルインスタンスであることが前提になるから二重起動の防止の仕掛けも欲しいところだけど
入門サイトのレベルでそこまで求めるかどうかはそこの人しだいじゃないの。
0432デフォルトの名無しさん
2006/08/08(火) 16:20:48二重起動とForm1がシングルインスタンスを前提とすることって関係なくね?
もしかしてstaticフィールドがプロセス間で共有されると思ってる?
0433デフォルトの名無しさん
2006/08/08(火) 16:23:04すまん言葉の使い方を間違った。Form1から2つ以上インスタンスが作られるケース。
0434デフォルトの名無しさん
2006/08/08(火) 16:33:04[return: MarshalAs(UnmanagedType.LPTStr)]とか?
それかポインタにいれちゃって取り出してみるとか。
0435デフォルトの名無しさん
2006/08/08(火) 16:51:20その関数が返す文字列はスタックに一時的に確保されているものだから
関数を抜けるとその内容は保障されない。
そもそもそのコードコンパイルできるの?
0436デフォルトの名無しさん
2006/08/08(火) 16:57:37Form1は1つの時はOKということでいいんですね。
0437デフォルトの名無しさん
2006/08/08(火) 18:09:03すでに生成済みのクラス original_class (Original_Class型) があるとして、
Original_Class oc = new Original_Class;
oc = original_class;
と
Original_Class oc = original_class;
の意味合いの違い(用途?)を教えてください。宜しくお願いします。
0438デフォルトの名無しさん
2006/08/08(火) 18:12:340439デフォルトの名無しさん
2006/08/08(火) 18:25:22初心者用スレいきだと思うけど。
>Original_Class oc = new Original_Class(); //←の間違いでしょ
>oc = original_class;
見た通り、クラスのインスタンスを作成している。
そのときコンストラクタ等でいろいろ作業して頑張ってクラス作ったのに
>oc = original_class;
でばっさりそのインスタンスへの参照を上書きして、古い方を参照させている。
コンストラクタで特別なことしてない限り(何か状態の変わるような糞をしてない限り)
まったく意味無し。新しいインスタンスは参照を失ってGC待ち。
>Original_Class oc = original_class;
は、単に参照をコピーしてるだけ。
0440デフォルトの名無しさん
2006/08/08(火) 18:27:39○頑張ってインスタンス作ったのに
0441デフォルトの名無しさん
2006/08/08(火) 18:51:00スレ違にも答えていただきありがとうございます。
>Original_Class oc = new Original_Class(); //←の間違いでしょ
(;゚Д゚)そうでした。
Original_Class oc = new Original_Class();
oc = original_class;
は意味なしな行為だったんですね。ご教授ありがとうございます。orz
0442デフォルトの名無しさん
2006/08/08(火) 23:11:15しかしむしろそのサイト読んだら誤解が増えそうで厳しい。
0443デフォルトの名無しさん
2006/08/09(水) 16:57:22普通こうでしょ
char* hoge(char* buf){
strcpy(buf, "hogehoge");
return buf;
}
static extern void hoge(byte[] buf);
いい加減だから適当に修正してくれ。
0444デフォルトの名無しさん
2006/08/09(水) 18:04:38排他的に項目選択できるのがないのな。
ダサ。
0445デフォルトの名無しさん
2006/08/09(水) 18:12:28見た目だけはラジオボタンぽくなる
0446羊
2006/08/09(水) 18:31:47開発環境はMicrosoft Visual Studio .NET 2003です。
DataGridをForm上で使用しているのですが、
キーとなる列を見てとある値が入っている行の一部のセルの色を変えたいのです。
どなたかご教授願えませんでしょうか?
よろしくお願いします。
0447デフォルトの名無しさん
2006/08/09(水) 21:52:38http://www.turboexplorer.com/csharphome.htm
0448デフォルトの名無しさん
2006/08/09(水) 22:19:27C#以前の問題としてそのエクスポート関数が最悪。
…時々この手のヤバいエクスポート関数のP/Invokeの質問をみるのだが
なんでなんだろう。
0449デフォルトの名無しさん
2006/08/09(水) 22:23:260450デフォルトの名無しさん
2006/08/09(水) 23:01:52いきなりC++習いだしたら
>>425みたいに書いてしまうだろうな。
C#の気分でスタックの変数返すメソッド書くと思う。
0451デフォルトの名無しさん
2006/08/09(水) 23:24:260452デフォルトの名無しさん
2006/08/10(木) 00:54:03Win32ぜんぜん知らないんだけど、配列に文字列代入できんの?
返されるのは元の配列のポインタなのか代入されたポインタなのかどっちなの?
代入されたポインタなら少なくともスタックの変数じゃないと思うんだが…
0453デフォルトの名無しさん
2006/08/10(木) 01:15:10配列に”代入”ではなく”コピー”
char s[256];
strcpy(s,"hoge");
とすると、
sというポインタ(文字型256バイトのメモリを指している)の
位置に、'h','o','g','e','\0'というデータ(5バイト)をコピーする
0454デフォルトの名無しさん
2006/08/10(木) 01:15:47配列に文字列代入できない。できるのは配列の初期化のとき。
静的配列はスタックに確保される。もちろんそのアドレス返す関数はあぼーん。
0455デフォルトの名無しさん
2006/08/10(木) 01:34:270457デフォルトの名無しさん
2006/08/10(木) 02:29:00何かいい加減スレ違いなんだが、収拾つかなそうなので説明。
C/C++方面としてみてアウトなのとDLLエクスポート関数としてみてアウトな点がある。
・C/C++
1. スタック上に取った領域なのでポインタを返しても領域はすでに開放済み
2. 配列に代入してる
3. TCHAR使ってるんだから_T("hoge")で囲め
・DLL(あくまで「標準DLL」としてね)
1. 受け渡し領域は呼び出し側で確保するのが原則。そしてそれをパラメータでポインタを渡す。
これだけだとバッファオーバーの問題を持った関数になるためバッファサイズも一緒に渡す
のが普通(>>443 はその点ではちょっと危ないが必要サイズが固定ならOK)。
2. TCHARはエクスポート関数に使っちゃだめ。AとWバージョン用意するか片方だけに。
TCHARはプリプロセッサによる処理なのでバイナリまで情報行かない。
3. __stdcallが原則。
4. .defファイルでエクスポートしないと名前に序数値がつく…と思ったけど呼べてる
らしいのが不思議(理由分かる人いる?)。
0458デフォルトの名無しさん
2006/08/10(木) 05:28:44> 4. .defファイルでエクスポートしないと名前に序数値がつく…と思ったけど呼べてる
> らしいのが不思議(理由分かる人いる?)。
extern "C"
0459デフォルトの名無しさん
2006/08/10(木) 06:04:31C++ほど意味不明なものはつかないが、それしても_とか@0とかは付くと
思ったけど…?気のせいかな
0460デフォルトの名無しさん
2006/08/10(木) 08:18:00こら、C++の意味不明さと、Windows固有仕様の意味不明さをごっちゃにするな。
_とか@0が付くのはstdcallのときだけ。
425のhogeはおそらくcdeclのはずなので関数の頭に_が付くだけ。
ちなみに__declspec(dllexport)を書いておきながら、
DEFファイルも作れば何の修飾もない名前で公開することもできる。
0461デフォルトの名無しさん
2006/08/10(木) 09:10:39いや、ごっちゃにしてるわけでは。MSコンパイラの命名規則なだけでそ
というかサンクス。なるほど、__cdeclの場合違うのか。
0462デフォルトの名無しさん
2006/08/10(木) 11:59:46c++で
struct test_struct
{
char *a;
int size;
};
void test(*test_struct);
こんな感じに宣言されてるものはどうやって呼べば良いですか。
ちなみに構造体のaはc#側で領域を確保して、そのサイズをsizeにセット。
test関数でaに値を書き出すという構造です。
0463デフォルトの名無しさん
2006/08/10(木) 12:46:20間違ってたら指摘よろ
----------------------------------
[StructLayout( LayoutKind.Sequential )]
struct test_struct
{
public IntPtr a;
public int size;
}
[DllImport(...)]
static extern void test( IntPtr pTS );
----------------------------------
test_struct ts = new test_struct ();
//...
//aの領域確保、サイズセット
//...
IntPtr p = Marshal.AllocHGlobal( Marshal.SizeOf( ts ) );
Marshal.StructureToPtr( ts, p, true );
test( p );
ts = (test_struct)Marshal.PtrToStructure( p, typeof( test_struct ) );
Marshal.FreeHGlobal( p );
0464デフォルトの名無しさん
2006/08/10(木) 12:58:14test(ref test_struct v);
でいいはず。あとaはStringBuilderでいけない?駄目なら忘れて
0465デフォルトの名無しさん
2006/08/10(木) 14:21:580466デフォルトの名無しさん
2006/08/10(木) 14:29:52サンクス
StringBuilderでいけました。
IntPtrもやってみたけど、プログラムが煩雑になるのでStringBuilderにしました。
てか、そのままのサンプルがMSDNにあった。
もっと調べてから質問すべきでした。m(__)m
ttp://msdn2.microsoft.com/ja-JP/library/e765dyyy.aspx
0467デフォルトの名無しさん
2006/08/10(木) 14:49:32可能です
0468デフォルトの名無しさん
2006/08/10(木) 14:56:42PropertyBindingのどの項目を設定すればいいのか教えていただけますか?
0469デフォルトの名無しさん
2006/08/10(木) 16:06:11ただしDataGridView本体じゃなくてDataGridViewTextBoxColumnの方で。
0470デフォルトの名無しさん
2006/08/10(木) 16:09:57○そのDataGridViewColumn
0471デフォルトの名無しさん
2006/08/10(木) 18:55:10エクスプローラでのソート順と同様の。
ex. "3" < "12"、 "abc3" < "abc12"
0472デフォルトの名無しさん
2006/08/10(木) 19:21:07System.Drawing.Printing.PageSettingsクラスの
PaperSize.kind(Kindではない)の値を取りたいのですが方法は無いでしょうか?
framework2だとrowKindだったか何かで取れるようですが、
1.1だと無理なのでしょうか?
ググってみたらAPIがなんちゃらって書いてあったのですが
そこからさっぱり進めません。
解決策を教えてくだい。
0473デフォルトの名無しさん
2006/08/10(木) 20:35:08String.Compareがあるがな(´・ω・`)
>>472
>PaperSize.kind(Kindではない)
って何?
0474デフォルトの名無しさん
2006/08/10(木) 20:57:32もちろん試した。文字列としてのみ比較可能だった。
カルチャを使えば曜日の文字(日, 月 ... 土)は
曜日順の結果を得ることもできたが、数字はダメっぽい。
あとVBも文字列操作に便利なものが多いから調べてみたけど、
要求を満たすものはなさそう。
0475デフォルトの名無しさん
2006/08/10(木) 21:25:38いわゆる自然順ソートってやつか
http://sourcefrog.net/projects/natsort/
にあるC言語で書かれたアルゴリズムを自力で移植するしかないんじゃないか
0476デフォルトの名無しさん
2006/08/10(木) 22:14:21C#もDirectXも初めてで
カスタムUIがさっぱりわからず苦戦してます
ネット文献も尽きてきてしまいました
宜しくお願いします
0477デフォルトの名無しさん
2006/08/10(木) 22:26:320478デフォルトの名無しさん
2006/08/10(木) 22:26:43普通にC#を勉強してからのほうがいい
0479デフォルトの名無しさん
2006/08/11(金) 00:15:06マウスクリックのイベントを拾って来たいのですが可能でしょうか?
Timerクラスでなんとかできないかと試したのですがよくわかりません。。。
どなたかお願いします。
0480デフォルトの名無しさん
2006/08/11(金) 00:15:46です。連投すいませんorz
0481デフォルトの名無しさん
2006/08/11(金) 00:19:33クリックしたら自動的にアクティブになるしな。
まあグローバルフックとかその辺じゃね。
0482デフォルトの名無しさん
2006/08/11(金) 00:19:360483デフォルトの名無しさん
2006/08/11(金) 00:22:43Clickイベント起きてるけど?
0484デフォルトの名無しさん
2006/08/11(金) 00:23:390485デフォルトの名無しさん
2006/08/11(金) 00:46:55ttp://hongliang.seesaa.net/article/7651626.html
0486デフォルトの名無しさん
2006/08/11(金) 01:11:03リッチャーって天才すぎです
0487デフォルトの名無しさん
2006/08/11(金) 07:55:21できるよ、ちょい不安定だけど(・∀・)
0488デフォルトの名無しさん
2006/08/11(金) 08:00:58自然順ソートって呼ばれてるんだ。
どうもありがとう。調べてみる。
0489デフォルトの名無しさん
2006/08/11(金) 10:03:21自分でコード書いてやらないと出来ないのですか?
ウィザードとかあれば助かるのですが・・・
0490デフォルトの名無しさん
2006/08/11(金) 10:12:35いやウィザードあるっしょ。
ただ直接プロパティ見れないから、ドキュメントアウトラインから当該Columnを
選択してプロパティ→(ApplicationSettings)→(PropertyBinding)
0491デフォルトの名無しさん
2006/08/11(金) 11:27:02出来ました。ありがとうございました。
0492472
2006/08/11(金) 12:00:11System.Drawing.Printing.PaperSizeクラスの
kindというプロパティの事です。
Kindという別の値は取れるのですが、それじゃ困るので質問してみました。
0493デフォルトの名無しさん
2006/08/11(金) 13:21:03PropertyBindingすると結構もっさりしない?
0494デフォルトの名無しさん
2006/08/11(金) 13:27:00言ってることが分かりにくかったが、
生のintのことかな?
PaperSize.KindでとれるPaperKindはenumなんだから
intにキャストすればいいんじゃね?
0495472
2006/08/11(金) 13:30:25System.Windows.Forms.PageSetupDialog page = new System.Windows.Forms.PageSetupDialog();
System.Drawing.Printing.PrintDocument doc = new System.Drawing.Printing.PrintDocument();
page.Document = doc;
page.ShowDialog();
Console.WriteLine(page.PageSettings.PaperSize.kind);
としたいけど一番最後の行ができないので、何とかなりませんか?って意味でしたorz
0496デフォルトの名無しさん
2006/08/11(金) 13:37:49>>494
Console.WriteLine( (int)page.PageSettings.PaperSize.Kind );
>kindというプロパティ
なんてこの世に存在しない
0497472
2006/08/11(金) 13:48:14クイックウォッチで見てみると、kindは存在しているように見えるので、
内部的には持ってると思うんですが、違うのでしょうか。
0498デフォルトの名無しさん
2006/08/11(金) 13:50:360499デフォルトの名無しさん
2006/08/11(金) 13:51:09内部的に持っていたとしても外部から見えるとは限らんでしょー
リフレクションかなにかで叩きなさい
0500デフォルトの名無しさん
2006/08/11(金) 14:04:070501デフォルトの名無しさん
2006/08/11(金) 14:16:53System.Diagnostics.Process
0502デフォルトの名無しさん
2006/08/11(金) 14:41:54リフレクションというのを使えばprivateメンバ等の値も取得できるのですね。
ちょっとやってみます。有難うございました。
0503デフォルトの名無しさん
2006/08/11(金) 14:46:18HttpWebRequest.Abort では復帰しなかったのですが……。
0504デフォルトの名無しさん
2006/08/11(金) 15:44:14あのねー、Reflector使えば分かるけどねー、
そのprivateなkind(PaperKind型)ってKindプロパティで取れるものとおなじだよ?
2.0のRawKindだってintにキャストしてるだけだよ〜
( ⌒ ) ポッポー
l | /
⊂(#・∀・) だから>>494でそう言ってるじゃないか!
/ ノ∪ もうやってらんないっすよ!!
し―-J |l| |
人ペシッ!!
(_)
)(__)(_
⌒) (⌒
⌒Y⌒
0505デフォルトの名無しさん
2006/08/11(金) 16:07:46真に申し訳ないです。494は素で読み飛ばしてましたorz
でも
page.ShowDialog(); で表示されるダイアログで
"連続紙 15x9inch"を選択した場合
kind は 234
Kind は Custom
(int)page.PageSettings.PaperSize.Kind は 0
になっています。
うざかったらすまんです。消えまつ
0506デフォルトの名無しさん
2006/08/11(金) 16:16:31うんこ投げてすまんかった。
Kindは特定の紙のタイプだとPaperKind.Customを返すようだね。
0507デフォルトの名無しさん
2006/08/11(金) 16:18:35お前素直で良いなw
0508デフォルトの名無しさん
2006/08/11(金) 19:32:25「Reflection C# メンバ private」でググって解決できました
うんこ投げてくれてありがとう〜。感謝してます
0509デフォルトの名無しさん
2006/08/11(金) 19:40:15| |
| ∩ ジャーッ ゴボゴボ・・・
__ノ .| | | _
| | .| | ./ )ノ\__ヽ
ヽ二二 ヽ -―- | | .//|\ノ(◎)
_____/ /" ̄| ヽ∧_∧// .|
/ / / ( ;´Д`)  ̄ ̄\
| |/⌒゙ / / \
.\ヽ__ノ__,,./。 ゚ |\ .\
.\\::::::::::::::::: \\ ゚ ./  ̄ ̄ ̄ ̄ ̄ ̄
.\\::::::::::::::::: \\ | うんこ流します
\\::::::::::::::::: \ .\_______
\\_:::::::::::_) )
ヽ-二二-―'
0510デフォルトの名無しさん
2006/08/11(金) 19:42:38違う
Reflectorだ
0511デフォルトの名無しさん
2006/08/11(金) 20:02:53ところでC#でMixinみたいにしたいんだが誰かいいアイデアないでしょうか。
Mixinしたいクラスをインタフェースとインプリメンテーションに分けて委譲してみたけどめんどくさすぎて気軽な実装に耐えないです・・・
0512デフォルトの名無しさん
2006/08/11(金) 20:08:56>>231をもうちょっと詳しく教えて貰えないでしょうか?
Form1のbutton1のClickイベントハンドラで、BackgroundWorkerを開始して、
backgroundworker1のDoWorkイベントハンドラで、別に作ったClass1の処理をします。
その処理のメッセージをForm1のMessageBox.Showと同じように扱いたいのです。
Class1からどのようにしてForm1のメッセージを処理するメソッドを呼ぶのでしょうか。
0513デフォルトの名無しさん
2006/08/11(金) 20:38:02C#3.0の拡張メソッドを使えば目の錯覚を起こせるかも
0514デフォルトの名無しさん
2006/08/11(金) 21:13:09public partial class Form1 : Form
{
BackgroundWorker backGroundWorker = new BackgroundWorker();
public Form1()
{
InitializeComponent();
backGroundWorker.DoWork += new DoWorkEventHandler( backGroundWorker_DoWork );
backGroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler( backGroundWorker_RunWorkerCompleted );
}
private void button1_Click( object sender, EventArgs e )
{
backGroundWorker.RunWorkerAsync();
}
void backGroundWorker_DoWork( object sender, DoWorkEventArgs e )
{
Class1 class1 = new Class1();
class1.TestMethod( this );
}
void backGroundWorker_RunWorkerCompleted( object sender, RunWorkerCompletedEventArgs e )
{
MessageBox.Show( "complete" );
}
public void Report()
{
MessageBox.Show( "stop" );
}
}
0515デフォルトの名無しさん
2006/08/11(金) 21:13:55class Class1
{
delegate void DelegateForm();
public void TestMethod( Form1 form )
{
for( int i = 0; i < 10; i++ )
{
if( i == 5 )
form.Invoke( new DelegateForm( form.Report ) );
Thread.Sleep( 500 );
}
}
}
0516デフォルトの名無しさん
2006/08/11(金) 22:18:37そうなんですか?
0517デフォルトの名無しさん
2006/08/11(金) 22:58:59Debugでやってるからかもしれないけど。
0518デフォルトの名無しさん
2006/08/12(土) 00:24:28string型の変数にそのタグのテキストを代入することはできたのですが、
それをintの変数に代入できません。(下の式)
初歩的な質問で申し訳ないですが、ヒントで結構ですので
教えていただけませんでしょうか?
(できない式)
private void btnApply_Click(object sender, EventArgs e) {
foreach (ListViewItem itm in lvwSkillTable.CheckedItems)
{
int tagNum;
if (itm.Checked) tagNum = Convert.ToInt16(itm.Tag.ToString());
if (tagNum = 77) MessageBox.Show("できた"); //intに変換できたか確認
}
}
(できた式)
private void btnApply_Click(object sender, EventArgs e) {
foreach (ListViewItem itm in lvwSkillTable.CheckedItems)
{
string tagNum =null;
if (itm.Checked) tagNum = itm.Tag.ToString();
MessageBox.Show(tagNum); //stringに変換できたか確認
}
}
0519デフォルトの名無しさん
2006/08/12(土) 00:28:58そのできない方コンパイルできたっけ
0520デフォルトの名無しさん
2006/08/12(土) 00:38:04型変換とか色々いじってはいるのですが、まだ出来ず・・・
0521デフォルトの名無しさん
2006/08/12(土) 00:40:42君はVB使いかね?
コンパイルエラーはif (tagNum = 77) の所で出てるんじゃないの?
0522デフォルトの名無しさん
2006/08/12(土) 00:44:30>コンパイルエラーはif (tagNum = 77) の所で出てるんじゃないの?
そのとおりです。ということは型変換に問題があるんじゃなくて、
ifのところにあるのですね。
調べてみます。
0523デフォルトの名無しさん
2006/08/12(土) 00:50:08if( Int32.TryParse( itm.Tag.ToString(), out tagNum ) )
{
MessageBox.Show( "できた" + tagNum );
}
else
{
MessageBox.Show( "失敗" );
}
×if (tagNum = 77)
○if (tagNum == 77)
つーか Convert.ToInt16って、shortにしたかったのか?
0524デフォルトの名無しさん
2006/08/12(土) 00:51:29tagNumを初期化してなかったのが原因なのですね。
int tagNum =0;とすることでコンパイルできました。
お騒がせしました&ありがとうございました。
0525デフォルトの名無しさん
2006/08/12(土) 00:51:45予想:現在やっているのはVBの移植作業
0526デフォルトの名無しさん
2006/08/12(土) 00:52:26むしろなんでそれで通ってるんだよ
0527デフォルトの名無しさん
2006/08/12(土) 00:52:43VBって = 一つでいいの?
じゃあ
bool equal = string.Empty == "";
みたいな事出来ないの?まあ使わないけど。
0528デフォルトの名無しさん
2006/08/12(土) 00:56:04523の式のほうがスマートですね。
使わせていただきます。
真夜中にありがとうございます。
0529デフォルトの名無しさん
2006/08/12(土) 00:57:36問題なく移植できているか確認するために、
各関数の入出力値をファイルに書き出して、
境界変数としてFortranのコードに与えて、出力が一致することを確かめています。
しかし、C#で実数値を文字列化して書き出すと、例えば
0.0000024835268656412763
↓
2.48352686564128E-06 = 0.00000248352686564128
となってしまい、微妙に値が変わってしまいます。
数値計算的に微分値などを求めるようなコードもあるため、
このあたりの僅かな差が出力に大きく影響を与えてしまいます。
何か解決方法は無いでしょうか?
0530デフォルトの名無しさん
2006/08/12(土) 01:06:59なんか変な方向に誘導しちゃったようなので一応フォローしとくと
比較演算子は=じゃなくて==な
>>529
Decimal型使えば解決するかもしれない
0531デフォルトの名無しさん
2006/08/12(土) 01:07:23つか浮動小数使う時点で誤差はあきらめんといかんな
0532デフォルトの名無しさん
2006/08/12(土) 01:13:57Double は仮数部 24 ビットまでしか入んなかったような希ガスー。
C# って任意の精度を持つ浮動小数点なかったっけ?
探せばどこかにあると思うけど。
0533デフォルトの名無しさん
2006/08/12(土) 01:20:460534デフォルトの名無しさん
2006/08/12(土) 02:00:470535デフォルトの名無しさん
2006/08/12(土) 02:25:18出来ました!
>class1.TestMethod( this );
>public void TestMethod( Form1 form )
ここがポイントでした。
ずっとClass1のTestMethodでForm1をnewしていて・・・。
こうやってみると無茶な書き方だと思うのですが、そんな書き方思いもよらなかった。
何とか自力解決しようと思ったのですが、思い切って聞いてよかったです。
自力じゃ確実に無理でした。
どうもありがとうございました。
0536491
2006/08/12(土) 02:36:08フォームのサイズとかは保存されているのですが…
他にも何か設定が必要なのでしょうか?
0537デフォルトの名無しさん
2006/08/12(土) 08:50:19フォームの最大化最小化とかバインディングさせようとすると
とんでもないことになったことがあったような気ガス
0538デフォルトの名無しさん
2006/08/12(土) 09:04:300539デフォルトの名無しさん
2006/08/12(土) 14:22:53ところで最後の
Thread.Sleep(500);
はなにか理由があるのでしょうか?
0540デフォルトの名無しさん
2006/08/12(土) 22:12:52LocationChangedのときにプロパティみてもLocationが0,0だったり
0541デフォルトの名無しさん
2006/08/12(土) 22:20:57MSDNくらい読んだらどうだ?
0542デフォルトの名無しさん
2006/08/12(土) 22:33:030543デフォルトの名無しさん
2006/08/12(土) 23:21:22早わかりとか、かんたんとか書いてあるのに全然難しいです。
入門ページとかは変数とかの話ばっかりで役に立ちません。どうすればいいですか。
0544デフォルトの名無しさん
2006/08/12(土) 23:54:450545デフォルトの名無しさん
2006/08/12(土) 23:57:08あきらめろ。お前にゃ無理。
あるいはふらっとスレにでも池。その前にその腐れ文章なんとかせんと、
向こうでも相手にしようがないけどな。
0546デフォルトの名無しさん
2006/08/13(日) 00:18:50夏休みの宿題には
http://www.uchukamen.com/Programming1/WebBrowser/index.htm
これでも提出しとけ
という煽りはおいといて、
↑くらいのもの自分で作ってみて、
コード書きながら学んでいった方がいいよ。
0547デフォルトの名無しさん
2006/08/13(日) 00:19:33玄人でもないくせに説教されてもうざいだけだ。
0548デフォルトの名無しさん
2006/08/13(日) 00:31:050549デフォルトの名無しさん
2006/08/13(日) 01:18:050550デフォルトの名無しさん
2006/08/13(日) 01:25:520552デフォルトの名無しさん
2006/08/13(日) 03:35:220553デフォルトの名無しさん
2006/08/13(日) 03:41:46これDLして起動したんだけど、左の板リスト以外何も表示されない(スレッド一覧等)
誰か原因分かる方いらっしゃればご助言頂けませんでしょうか
0554デフォルトの名無しさん
2006/08/13(日) 03:55:05>早わかりとか、かんたんとか書いてあるのに全然難しいです。
>入門ページとかは変数とかの話ばっかりで役に立ちません。
まずは、基礎をしっかり身に付けてからじゃないと。
難しいからといって投げ出すな。すぐに成果が出るものだと思うな。
ソフト開発に限らず、何事も基礎がしっかりしてなきゃ糞だ。
基礎をすっとばしてとにかく今回限りブラウザを作らなきゃいけないっていうなら、
そもそもC#じゃなくてVB.NETを使いな。基礎がわかってなくてもある程度動くコードが組めるから。
まぁURL入力してそのページを表示するだけのアプリならたぶん簡単に作れるよ。
スレイプニルと同程度なクオリティのアプリを作ることは不可能だろうがな。
>>553
スレ違い、つーか板違い
0555デフォルトの名無しさん
2006/08/13(日) 12:12:31それにしても VC#2005は凄いな
コードも書いてる途中からどんどん注意してくれるし
効率いい
参照渡しなのか値渡しなのか まだややこしいけど
間違っても即注意してくれるし
同じ事を期待してVC++2005を触ったら全然違う……
IntellisenceもBCBとそう変わらんのでは
さらにManagedとUnManagedが入り乱れたコードは
すんげーよみにくい
//チラシの裏終わり
0556デフォルトの名無しさん
2006/08/13(日) 12:30:51>IntellisenceもBCBとそう変わらんのでは
アホか。BCBの方が優秀
0557デフォルトの名無しさん
2006/08/13(日) 12:50:40おれにMIXINをさせてくれぇぇぇぇぇ委譲は疲れた。
まじで頼みますヘジさん・・・
0558225
2006/08/13(日) 16:47:37>>229にてstringformatを使ってうまくいったと書きましたが、
文字によってはやはりずれるようです。
やりたいことはDrawString()で描画する文字を完璧に右揃えにすることです。
描画基準座標から描画された文字の一番右端までが何ピクセルかを調べたいのですが、
>>229の方法、
StringFormat sf = StringFormat.GenericTypographic;
StringFormat sf = StringFormat.GenericDefault;
ともに数ピクセルずれてしまいます。
ちなみに文字は半角・全角文字の混合です。
何か他に検討すべき項目があれば教えてください。
0559デフォルトの名無しさん
2006/08/13(日) 17:07:33単に
StringFormat sf = new StringFormat();
sf.Alignment = StringAlignment.Far;
g.DrawString( str, font, bursh, rectf, sf );
じゃだめなの? >右揃え
0560225
2006/08/13(日) 17:19:04sf.Alignment = StringAlignment.Far;
やってみるのは初めてなのでやってみました。
("MS UI Gothic", 11.5f);でやってるのですが、
右端の文字が”と” ”り” の場合で1pixelずれてしまってます。
やはり1pixelくらいは諦めた方がいいんでしょうか・・・
0561デフォルトの名無しさん
2006/08/13(日) 17:32:29" とa" " りa" で比較すればよく分かる。
0562225
2006/08/13(日) 17:38:51右端の文字が
番 と り
をStringAlignment.Far;
でbmpに書き出してペイントで800%にしてピクセル数えたところ
番の右端を0とすると
と = -2pix り = -1pixなのですが…
とa、りaでやってみます。
0563225
2006/08/13(日) 17:42:33右端の文字がそれぞれ
と=-1pix り=0 a=0pix
でした。
0564デフォルトの名無しさん
2006/08/13(日) 18:26:54フォントのグリフごとに右端のピクセルの位置が違うから。
バッファに描画してみて、
ピクセルをスキャンして右端のピクセル位置取得
→差分だけ実際に描画するときずらす
とか妄想したけど、そこまでする必要があるんか?
0565デフォルトの名無しさん
2006/08/13(日) 18:55:160566225
2006/08/13(日) 20:31:10もっと簡単にできるのかと思ってました。
お騒がせしました。
0567デフォルトの名無しさん
2006/08/14(月) 01:56:590568デフォルトの名無しさん
2006/08/14(月) 03:04:25気付くまで1時間ハマッタ(;´Д`)
0569デフォルトの名無しさん
2006/08/14(月) 03:10:24Stack<int> stack2 = new Stack<int>( stack1);
ってコンストラクタで初期化したときも逆順になると気付くまで更に30分(;´Д`)
0570デフォルトの名無しさん
2006/08/14(月) 03:34:52例えばButtonをクリックするとButtonがへこむエフェクトが表示されますがそういうのを一切無効
にしてButtonの絵が描かれた画像をクリックしているような感じにしたいのです.
誰かやり方分かる人いますか?
0571デフォルトの名無しさん
2006/08/14(月) 03:55:170572570
2006/08/14(月) 04:12:360573デフォルトの名無しさん
2006/08/14(月) 04:15:07むむホントだ。
StackにはCloneがあるけどStack<T>にはないから単純にコピー作れねぇ。
MemberwiseClone はProtectedだし使いにくい。
0574デフォルトの名無しさん
2006/08/14(月) 09:04:01コメント?みたいなものが表示されるようにしたいのですがどのように
すればよいでしょうか?
イメージとしては.NETのエディタで入力中にリストボックスが出てくるときに
オンマウス?で表示される説明のようなものです。
お願いします。
0575デフォルトの名無しさん
2006/08/14(月) 09:12:330576574
2006/08/14(月) 10:09:30ありがとうございます。
>>574の機能=XMLコメントというんですかね?
説明出てくる機能が標準で装備されてるのかと思ったら違ったのかな・・
0577デフォルトの名無しさん
2006/08/14(月) 10:20:080578デフォルトの名無しさん
2006/08/14(月) 14:13:100579デフォルトの名無しさん
2006/08/14(月) 15:03:510580デフォルトの名無しさん
2006/08/14(月) 15:42:24↓ここ超お勧め
ふらっとC♯(初心者用) Part8
http://pc8.2ch.net/test/read.cgi/tech/1148310124/
0581デフォルトの名無しさん
2006/08/14(月) 16:30:04庋「たな」(まだれに支えるの文字)などを、セルにペーストすると、?と表示されるのですが、
何かご存知の方いらっしゃいますか?
セルにフォーカスを当て、カーソルを表示させた状態でペーストすれば、きちんと文字が表示されるのですが、
フォーカスだけ当てて、ペーストすると、?と表示されます。
0582デフォルトの名無しさん
2006/08/14(月) 16:41:020583デフォルトの名無しさん
2006/08/14(月) 21:48:03フォントの情報を取得して自前で描画…
0584デフォルトの名無しさん
2006/08/14(月) 21:56:310585デフォルトの名無しさん
2006/08/15(火) 16:08:57Clickイベントで、コンボがクリックされた時にその時点のインデックスを保持すれば、
とりあえず変更前のインデックスは保持できるのですが、マウスホイールをコロコロ転がすとクリックイベントが発生しないので、
前のインデックスが保持できません。
SelectedIndexChangedでは今のインデックスしか取れないし、何か手はないでしょうか?
0586デフォルトの名無しさん
2006/08/15(火) 16:30:02SelectedIndexChangedみたいな選択変更系のイベントで
前選択時のイベントが渡されてくる奴が確かあった。
それ系のイベントハンドラを(実際にプログラム書いて)
全部調べてみるべし。
0587586
2006/08/15(火) 16:31:04前選択時のインデックスが渡されてくる奴が確かあった。・・・○
ゴメソ
0588デフォルトの名無しさん
2006/08/15(火) 16:44:27フリーターがいちいち仕事を探す方式より、
派遣会社に登録して仕事を貰う方が楽。
0589デフォルトの名無しさん
2006/08/15(火) 16:50:57pubic bar(Object o)
pubic bar(Object o,Object o2)
pubic bar(Object o,Object o2,Object o3)
}
というクラスをCOMに公開すると、メソッド名が
bar,bar_2,bar_3
名前に変換されてしまいます。
この変換なしにクラスを公開したい場合はどうすれば良いでしょうか?
0590デフォルトの名無しさん
2006/08/15(火) 18:16:530591デフォルトの名無しさん
2006/08/15(火) 20:17:43通常、大量の行を一度に追加すると時間を要するが、追加後の動作は速い。
一方、仮想化すると動作が軽くなる代わりに、扱いがめんどうで高速でスクロールするとちらつく。
スレッドでリアルタイムに追加したらどうかと考えたが、
AddRangeでの追加を複数回に分割したところで動作に変化はなかった。
public MyClass(){
Thread t = new Thread( new ThreadStart( setListView1 ) );
t.Start();
}
void setListView(){
int lvSize = 10000;
ListViewItem lvi;
ListViewItem[] lviArray = new ListViewItem[ lvSize ];
for( int i = 0; i < lvSize; i++ )
{
lvi = new ListViewItem( i.ToString() );
lviArray[ i ] = lvi;
}
Invoke( new setListViewItemDelegate( setListView2 ) );
}
void setListView2(){
listView1.Items.AddRange( lviArray );
}
ListView.AddRangeって、Form上のコントロールのときに時間がかかるけど、
親コントロールを持たないListViewだと高速なんだな。
それならと、先に行を追加しておいたListViewをFormに登録してみたら、
今度はFormへの登録時に時間がかかった。
どうしたら読み込みも速くスクロールもちらつかない、なんて動作を実現できる?
0592デフォルトの名無しさん
2006/08/15(火) 20:20:59一度に登録するんなら効果少ないかもしれないけど。
0593デフォルトの名無しさん
2006/08/15(火) 20:39:15書き漏らしていた。Begin...も試した。
void setListViewItems()
{
listView1.BeginUpdate();
listView1.Items.AddRange( items );
listView1.EndUpdate();
}
挙動はまったく変化なしだった。
0594デフォルトの名無しさん
2006/08/15(火) 20:45:290595デフォルトの名無しさん
2006/08/15(火) 21:32:20ビンゴ、それだ!
DoubleBufferedなんてのがあったんだ。これなら仮想ListViewでもいける。
true/falseと使い分けられるってことは、使用時に何かデメリットがあるのかな。
その辺調べてみる。ありがとう。
0596デフォルトの名無しさん
2006/08/15(火) 21:37:22でそうすると別スレッド使う意味が無くなる。
0597デフォルトの名無しさん
2006/08/15(火) 22:25:33いや、Invoke 経由で呼んでるように見えるんだけどなw 後半は同意だが
0598デフォルトの名無しさん
2006/08/15(火) 22:45:03いやほら this. も listView1. も付いてないと、なんかこう見えなくてさ。
0599591
2006/08/15(火) 23:41:41すまぬ。ソースはオリジナルに似せて適当にでっち上げた物ゆえ。
あと、threadやinvokeもほとんど使ったことなくて、手当たり次第に試しただけ。
訊いて勉強になった。
0600デフォルトの名無しさん
2006/08/15(火) 23:44:29どういう仕組みになってんだか
0601デフォルトの名無しさん
2006/08/16(水) 00:16:36テーブルに新しいフィールドを追加しました。
これをデータベースダイアグラムに反映させるところまではできたのですが、
TableAdapter に反映させる方法がわかりません。
どうしたら良いのでしょうか?
0602デフォルトの名無しさん
2006/08/16(水) 00:23:44win32のハンドルとか受けるときにIntPtr使えって見たんですが、
ULONG_PTR は UIntPtr 使わなくって大丈夫ですか?
ULONG_PTR の実体が Int32 や Int64 の範囲を越える場合ってありえるんですか?
0603デフォルトの名無しさん
2006/08/16(水) 00:29:530x7FFFFFFF 超えたところでマイナスになるだけだから気にすんな。
同様に DWORD を Int32 で受けても構わないぞ。
0605デフォルトの名無しさん
2006/08/16(水) 01:39:43のですが、これで作ったプログラムをフリーソフトとして配布
してもいいのですか?
0606デフォルトの名無しさん
2006/08/16(水) 01:42:470607デフォルトの名無しさん
2006/08/16(水) 01:43:520608デフォルトの名無しさん
2006/08/16(水) 01:45:340609デフォルトの名無しさん
2006/08/16(水) 01:51:060610デフォルトの名無しさん
2006/08/16(水) 01:51:380611デフォルトの名無しさん
2006/08/16(水) 01:56:49ありがとう。
0612デフォルトの名無しさん
2006/08/16(水) 03:08:100613デフォルトの名無しさん
2006/08/16(水) 07:46:31http://www.microsoft.com/japan/msdn/vstudio/express/faq/
0614デフォルトの名無しさん
2006/08/16(水) 07:55:12>Visual Studio 2005 Express Edition があれば Visual Studio は必要ありませんか。
>Visual Studio 2005 Express Edition は、他の Visual Studio 2005 製品ラインとはどのように違いますか。
この質問への回答ってどうなんだろう?
個人で開発するならExpress Editionで十分だと思うんだけどなぁ。
0615デフォルトの名無しさん
2006/08/16(水) 08:01:55プロフェッショナルってのは字義通り「それで金を稼ぐ」ことだろうし。
0616デフォルトの名無しさん
2006/08/16(水) 08:10:060617デフォルトの名無しさん
2006/08/16(水) 08:21:53コントロールの配置ぐらいにしか使わないんだから。
あとは普通にコマンドラインからコンパイラやal.exe使うし、
シングルモジュールアセンブリしか作れない開発環境なんか
特に必要ない
0618デフォルトの名無しさん
2006/08/16(水) 08:43:43>あとは普通にコマンドラインからコンパイラやal.exe使うし、
全盛期の遺物乙
0620デフォルトの名無しさん
2006/08/16(水) 09:12:25axWebBrowser1に表示させたいのですが、「ファイルのダウンロード-セキュリティの警告」
という画面が出て直接表示されません。
「開く」を押すと新しいIEが開いてそこに表示されてしまいます。
これをセキュリティ警告を出さず、直接表示させるにはどのようにすれば良いでしょうか。
0621デフォルトの名無しさん
2006/08/16(水) 09:14:10ふらっとC♯(初心者用) Part8
http://pc8.2ch.net/test/read.cgi/tech/1148310124/
0622デフォルトの名無しさん
2006/08/16(水) 09:28:300623デフォルトの名無しさん
2006/08/16(水) 09:52:30(すでに自壊してるが)
かつてのNetscapeつぶしを訪仏させなくもない
Turbo Exp. にはほんの少しだけ期待しておこう
0624デフォルトの名無しさん
2006/08/16(水) 10:18:39たぶん618はコマンドラインからということに反応したのだと思う。
0625620
2006/08/16(水) 10:23:32ありがとうございます。
一通り読んでみたのですがそれらしきものが見当たりません。
もしかしてhttp://pc8.2ch.net/test/read.cgi/tech/1148310124/440-
あたりですか?
もうちょっとヒントお願いします。
0626デフォルトの名無しさん
2006/08/16(水) 10:27:040627620
2006/08/16(水) 10:31:23ありがとう。逝ってきます
0628デフォルトの名無しさん
2006/08/16(水) 12:10:48Borlandマジ終わったな。
ALMに力を入れるということなんだが、
はっきり一手、ALMとIDEって両輪なんだけどな。
0629デフォルトの名無しさん
2006/08/16(水) 15:29:44氏ね。
0630デフォルトの名無しさん
2006/08/16(水) 16:41:570631デフォルトの名無しさん
2006/08/16(水) 16:47:35stl.net
0632デフォルトの名無しさん
2006/08/16(水) 16:58:420633デフォルトの名無しさん
2006/08/16(水) 21:15:02TableAdapter.Insert() を使おうと思うんですが、
ID値が Identity 指定してある場合は、
どのようにコードを書けばいいんでしょうか?
0634デフォルトの名無しさん
2006/08/16(水) 21:26:43管理や手間の方がマイナスになる。
alを使わないのが珍しいだって?
0635デフォルトの名無しさん
2006/08/16(水) 21:31:25誤爆スマソ
0636デフォルトの名無しさん
2006/08/16(水) 22:12:490637デフォルトの名無しさん
2006/08/16(水) 22:16:160638デフォルトの名無しさん
2006/08/16(水) 23:19:06Proxy プロパティを設定しない場合、「インターネットオプション」のプロキシ設定の
「HTTP の」 Proxy が使われてしまうんでしょうか・・・?
(「インターネットオプション」で ftp の proxy を空(直接接続)に設定していても
以下のコードで、なぜか http の箇所で指定している proxy が使われる。)
try
{
WebRequest req = WebRequest.Create( url );
WebResponse res = req.GetResponse();
}
catch (Exception ex) { MessageBox.Show(ex.Message); }
環境は C# 2005 Express Ed., Windows XP Pro. です。
0639デフォルトの名無しさん
2006/08/16(水) 23:35:420640デフォルトの名無しさん
2006/08/17(木) 00:03:21どうすればいいですか?
0641638
2006/08/17(木) 00:23:49> 要求でプロキシがサポートされていて、プロキシが Proxy プロパティを使用して明示的に
> 設定されていない場合、DefaultWebProxy プロパティによって、すべての WebRequest
> インスタンスが使用するプロキシが設定されます。
との記述が DefaultWebProxy の項にあったけど、つまり HttpWebRequest でも FtpWebRequest
でも、1つの DefaultWebProxy が使われているから、http の proxy になってしまう
ということなんだろうか・・・
FTP の proxy はレジストリを読むなりしないと自動設定は無理なんかな。
関係ないけど、HttpWebRequest というキーワードに google.co.jp では1件もヒットしない・・。
すぐ直ると思うけど。
0642デフォルトの名無しさん
2006/08/17(木) 00:26:01Header プロパティあたりでは。
0643デフォルトの名無しさん
2006/08/17(木) 00:26:330644デフォルトの名無しさん
2006/08/17(木) 01:03:53どうもです。
そのheader プロパティというのを使えば、HTTP/1.0 200 OK
とか見れるのですか?
0645デフォルトの名無しさん
2006/08/17(木) 01:51:270646デフォルトの名無しさん
2006/08/17(木) 02:27:12ヒントありがとうございます。
http://msdn2.microsoft.com/ja-JP/library/system.net.httpwebrequest.headers.aspx
0647デフォルトの名無しさん
2006/08/17(木) 11:16:30どうすればいいんでしょうか?
ヘルプを見ましたが、わかりませんでした。
0648デフォルトの名無しさん
2006/08/17(木) 11:35:250649デフォルトの名無しさん
2006/08/17(木) 12:39:43引数のFontに等幅フォントを指定しても
微妙に等幅にならずに、数ピクセルずれませんか?
たとえばMS ゴシック。
ラベルでTextプロパティに設定した時はきっちり等幅だけど
DrawStringで表示したときはずれるんです....
しかもサイズもちょっとちっちゃくなって。
テキストを部分的に色分けして表示したいので
DrawStringを使って描画していきたいのですが
この問題があってちょっと困ってます。
0650デフォルトの名無しさん
2006/08/17(木) 13:03:37可能なのでしょうか?
検索しても、クリックした行の色を変えるくらいしか見つかりませんでした。
0651デフォルトの名無しさん
2006/08/17(木) 13:09:33追加するときに色を変えれば良いんじゃない?
0652デフォルトの名無しさん
2006/08/17(木) 13:14:190653デフォルトの名無しさん
2006/08/17(木) 13:26:06DataGirdViewかDataSet
1行づつの読み込みを検知するイベントがあるのでしょうか?
0654デフォルトの名無しさん
2006/08/17(木) 14:34:470655デフォルトの名無しさん
2006/08/17(木) 15:39:070656デフォルトの名無しさん
2006/08/17(木) 16:05:11違うような気がします。
無理かな。。
0657デフォルトの名無しさん
2006/08/17(木) 18:05:11可能なら設定の仕方を教えてください
0658デフォルトの名無しさん
2006/08/17(木) 18:08:550660デフォルトの名無しさん
2006/08/17(木) 18:33:580661デフォルトの名無しさん
2006/08/17(木) 20:12:580662デフォルトの名無しさん
2006/08/17(木) 20:19:550663デフォルトの名無しさん
2006/08/17(木) 20:30:300664デフォルトの名無しさん
2006/08/17(木) 20:30:42WinCEでプログラムを走らせているのですが、
その時の文字のエンコードをUnicodeに変更しなくてはいけません。
Shift_JISからの変更だったので下のようなプログラムを書いて見ました。
StringBuilder _DataArry;
string DataArry = _DataArry.Tostring();
byte[] test = Encoding.Unicode.GetBytes(DataArry);
DataArry = Encoding.Unicode.Getstring(test);
しかし、ビルドをすると
引数を'1'個指定できる、メソッド'GetString'のオーバーロードはありません。
とエラーが出てしまいます。
どこがいけないか、どなたか教えていただけませんか?
0665デフォルトの名無しさん
2006/08/17(木) 20:37:29ふらっとC♯(初心者用) Part8
http://pc8.2ch.net/test/read.cgi/tech/1148310124/
0666デフォルトの名無しさん
2006/08/17(木) 20:54:33String にUnicodeもShift-JISもない
0667デフォルトの名無しさん
2006/08/17(木) 21:29:060668デフォルトの名無しさん
2006/08/17(木) 21:35:08黙れバカ。知らないんだったら素直にごめんなさいって謝れよ!
0669664
2006/08/17(木) 21:35:47ふらっとに行って見ます。
0670デフォルトの名無しさん
2006/08/17(木) 22:55:42お 前 が 氏 ね
>>668
ついでにお前も氏んでおくか?
0671デフォルトの名無しさん
2006/08/18(金) 07:24:06/ / ヽ ::: \
| (●), 、(●)、 | / ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ,,ノ(、_, )ヽ、,, | < まーた始まった
| ,;‐=‐ヽ .:::::| \_______
\ `ニニ´ .:::/
/`ー‐--‐‐―´´\
0672デフォルトの名無しさん
2006/08/18(金) 09:55:280673デフォルトの名無しさん
2006/08/18(金) 13:57:58,. ‐';ニ"´ニイ:i!:、ヽ:.:`ヽ、_
/.:///:.イ:.|:|:|i:.:ヽ:.、ヽ:、ヽ、
:.:/:/./://:|:.:|:!:|:|i:.:.:゙,:.:.:.リ:.ヽ\
./:.:/:/:.:.//ハ:.:i:.:l:.:.i:.:.:i:.ヽ`:|:!:.:ヽヽ
:.:/.:/:.:./:.l!::.:.ハ:.V:.;、:i:.:.|:.:.ヽ|:.i:.i:.:.',:.゙:,
/l!:/.:.:/|!.|:.:./ハ:',:|:ヽ:、|!:.:.:.ハ:.||:.',:.i:、:',
!|l,:!:.:.:.:|.| |レ/∧:l:メ!:.ヽ:.:|:.|/:.i:.リ:、',:|:.i:.i
:|l.|:.:.:.:|!.:|:.//¬i:.{‐、.:|.ト、:l:|、:.!:.:.i:ヽ|:.|:|
i:.:| |:.:.|l:.:.l/ィ示ヽミ !.メ| 〉ヽ!:|_!:.|:i.:N:.|
:.:.l!:l、.:.:l、:l`ヽ::ノ_, ' リ |i |.,.ィl、.|::!||:.メ:リ
、:.l!.N、:い!. !く:::ソ } |:.:|/:/
!:i、.i!リ ヽ! , `~ /|:ノ:/
:.i|:iN ` .: ノ /:!レ/′
:、l:|ハ 、____ /::i/'′
小| ヽ `''ー‐`'' /|/l
:.:トヽ \ / r‐-、r‐-、r‐-、r‐-、
N|`ヽ ヽ、 , '´ ┌───────┤ || || ||_..._|‐───────┐
``'''‐- ..,_ iT"´ | ー──────‐ |_...._|| ||_...._|ヽ_,ノ. ─────── |
、_ ``''‐N、 | .ヽ_,.ノ|.-‐.|ヽ_,ノ |
`ヽ、 i | ─────────. `ー' ー‐─────────‐ |
、 `ヽ、 | | >>670 「ついでにお前も氏んでおくか?」とほざき .|
、`ヽ、 \ | | ──────────‐ :. ──────────‐ |
\ \ ヽ.|ヽ | その24時間後に醤油を一気飲みして自害 |
ヽ ヽ | \ | ──────────‐ :. ──────────‐ |
0674デフォルトの名無しさん
2006/08/18(金) 15:12:440675デフォルトの名無しさん
2006/08/18(金) 15:45:08に強制的にフォーカスを移すにはどうすればいいでしょうか?
TabControl.Focus();
TabPage.Focus();
としても、「タブ名が書かれたところ」には移動しませんでした。
どなたかご存知ですか?
ちなみに .NET CF1.0 で試しています。
0676デフォルトの名無しさん
2006/08/18(金) 16:27:04はないですか?
0677デフォルトの名無しさん
2006/08/18(金) 18:55:39TabControl.SelectedTabプロパティ。
0678デフォルトの名無しさん
2006/08/19(土) 01:53:51プロパティとメソッドの選択
ttp://msdn2.microsoft.com/ja-JP/library/ms229054.aspx
↑を読んでいるのですが、いまいちすっきりしません…。
0679デフォルトの名無しさん
2006/08/19(土) 02:07:13変数みたいにささっと扱いたいときにプロパティ
それ以外はメソッド
0680デフォルトの名無しさん
2006/08/19(土) 02:07:36「一般的に、メソッドは操作を表し、プロパティはデータを表します。」
0681デフォルトの名無しさん
2006/08/19(土) 02:11:08http://ex16.2ch.net/test/read.cgi/news4vip/1155903854/
>>1(巨乳・ナンパ多し) 会社の先輩
年齢:23歳 年齢:33歳 ♂
彼氏いない暦:半年 彼女いない暦:恐らく年齢
身長:158�a 身長:160cmくらい
体重:51�` 体重:80�`くらい
先輩は>>1がVIPPERとは知らない
Sサイズのシャツから肉がはみ出てる
変にオサレぶってかっこつけてキモイ。
でもオバサマには人気ある
上司とすげー仲良い(信頼されてる)
メールの内容
「今日は楽しかったおo(^ω^)o 注)一緒に帰っただけ
また月曜に会おうNe星
ちゃんとお風呂入るんだおwwwww」
「俺はインターネッツに詳しい」と豪語(ry
会社が終わるとロッカー前で毎日待ち伏せ
→同じ路線なので着いてこられる
→「本屋に寄るから」と断ると一緒に来る
→「今度一緒に映画行こうか(^ω^)」
→断ると以下ループ
0682デフォルトの名無しさん
2006/08/19(土) 03:37:12VSのオブジェクトブラウザを開いて、適当なクラス(フォームとか)について
どんなのがプロパティで、どんなのがメソッドなのか眺めてみると
参考に成増ですよ。
0683デフォルトの名無しさん
2006/08/19(土) 08:03:450684デフォルトの名無しさん
2006/08/19(土) 08:12:300685デフォルトの名無しさん
2006/08/19(土) 11:13:27あとは根本的なものとしてプロパティは複数引数渡せない。やりようはあるだろうけど。
0686デフォルトの名無しさん
2006/08/19(土) 11:13:32ヘルプにも載ってないし。
VS2005からなくなったんですか?
0687デフォルトの名無しさん
2006/08/19(土) 14:47:25%windir%\assembly\gac\アセンブリ完全限定名\
以下にアセンブリが入ってるから、
コマンドプロンプトでフルパス取得してダイアログのファイル名に突っ込めば参照できる。
0688デフォルトの名無しさん
2006/08/19(土) 17:18:12簡単な使い方の説明と、メンバ、特に描画に関するプロパティの項目の違いなどを、
絵付きで解説したら十分一冊の本になりそう。
というか出して欲しい。
0689デフォルトの名無しさん
2006/08/19(土) 17:38:080690デフォルトの名無しさん
2006/08/19(土) 20:00:09WindowsFormsのComboBoxからは想像できない挙動になっていたり、
普通にMSDNからだけだとかなり工数かかる内容だと思われ。
0691デフォルトの名無しさん
2006/08/19(土) 20:18:250692デフォルトの名無しさん
2006/08/19(土) 20:51:44フォームを作ったりできますが、
EnvDTE で作ったフォームにボタンとかラベルとか
追加するにはどうしたらよいのでしょうか?
0694デフォルトの名無しさん
2006/08/20(日) 11:16:19勝手に他の数値型のオーバーロードを見に行くのはどうにかならんかな……。
0695デフォルトの名無しさん
2006/08/20(日) 11:24:53bool equals(object o);
bool equals(MyType t);
0696デフォルトの名無しさん
2006/08/20(日) 11:32:350697デフォルトの名無しさん
2006/08/20(日) 11:47:25変数の名前と値を出力するために、毎回、
Trace.WriteLine("foo is "+foo.ToString());
と書くのは面倒なので、
Cプリプロセッサの # みたいなのがあれば、
void debug(foo){ Trace.WriteLine( #foo "is "+foo.ToString()); }
としたいなぁと思いまして。
0698デフォルトの名無しさん
2006/08/20(日) 11:49:120699デフォルトの名無しさん
2006/08/20(日) 11:51:470700デフォルトの名無しさん
2006/08/20(日) 12:53:35適当に重要所にDebug.Printを埋め込んであるとチーム的にわかりやすいような気がする。
0701デフォルトの名無しさん
2006/08/20(日) 13:18:170702デフォルトの名無しさん
2006/08/20(日) 13:48:280703デフォルトの名無しさん
2006/08/20(日) 15:04:140704デフォルトの名無しさん
2006/08/20(日) 17:20:010705デフォルトの名無しさん
2006/08/20(日) 17:47:08Dignostice.Debug.Print
Console.Write
どれも同じに見えるんですけど、使い分けはどうすればよいの?
0706デフォルトの名無しさん
2006/08/20(日) 18:20:15Debug と Console は全く用途が異なるでしょうに
0707デフォルトの名無しさん
2006/08/20(日) 20:16:31・半透明
・「WWW用」「メールサーバー」などの文字を表示
・終了や設定変更はタスクトレイアイコンから行う。
画面に表示されているけど、普段の操作には影響を及ぼさないような
そんな感じです。
0708デフォルトの名無しさん
2006/08/20(日) 20:54:48protected override System.Windows.Forms.CreateParams CreateParams{
get{
CreateParams cp;
cp = base.CreateParams;
cp.ExStyle = cp.ExStyle | 0x00000020;//WS_EX_TRANSPARENT
return cp;
}
}
かな
0709デフォルトの名無しさん
2006/08/20(日) 21:10:03Debug.PrintはFormatが使えるから短くかける
Debug.Write〜はオブジェクトが引数のオーバロードがあるから楽
0710デフォルトの名無しさん
2006/08/20(日) 21:31:05Componentとは一切関係の無いクラスの中でオブジェクトを作って使ってもいいの?
アプリケーション自体はFormを持った普通のものなんだけど
0711デフォルトの名無しさん
2006/08/20(日) 21:39:560712デフォルトの名無しさん
2006/08/20(日) 21:47:14とかやってたよ。さんくすこ。
0713710
2006/08/20(日) 21:57:40でも知れば知るほどそんなに良いものではないように感じられてきたので
直接スレッドを使うことにするよ
0715デフォルトの名無しさん
2006/08/20(日) 22:02:390716デフォルトの名無しさん
2006/08/20(日) 22:03:01いやいや素直に BackgroundWorker つかっとけ。
0717デフォルトの名無しさん
2006/08/21(月) 10:35:29できればC#かVB.NETで。。。
「Windows Media Player」や「Net Transport」もあるけど、
単純な機能だけに絞った再生・録音ソフトを自分で作りたいんです。
参考になる書籍とかサイトを教えていただければありがたいです。
開発を始めたら、一緒に情報共有していきたいです。(・∀・)
0718デフォルトの名無しさん
2006/08/21(月) 10:48:43できればユーラシアかアメリカ大陸で。。。
「中華人民共和国」や「アメリカ合衆国」もあるけど、
単純な支配機能だけに絞った帝国を自分で作りたいんです。
参考になる書籍とかサイトを教えていただければありがたいです。
開発を始めたら、一緒に専制統治していきたいです。(・∀・)
0719717
2006/08/21(月) 10:53:400720デフォルトの名無しさん
2006/08/21(月) 11:11:28MSDN
>>718
DPRK
0722デフォルトの名無しさん
2006/08/21(月) 11:22:21Managed DirectX : DirectShow
0723デフォルトの名無しさん
2006/08/21(月) 11:45:120724デフォルトの名無しさん
2006/08/21(月) 14:15:19「ストリーム」の再生や保存機能は持ってない。
0725デフォルトの名無しさん
2006/08/21(月) 17:49:21フィルタとピンって知ってる?
0726デフォルトの名無しさん
2006/08/21(月) 18:02:33それはMicrosoft.DirectX.AudioVideoPlaybackじゃまいか
「DirectShow」がファイルの再生とキャプチャしかできなかったら話にならん
ただ、DirectShowはManaged DirectX(9.0c)にはないんで、COM版かDLLを呼び出して使うしかないはず
0727726
2006/08/21(月) 18:03:58COM版かDLLを呼び出して使うしかないはず
↓
COM版のDLLを呼び出して使うしかないはず
言い回しがくどいかな
要はCOM版のDirectShowを使えって事
0728724
2006/08/21(月) 21:07:08「ファイル」の再生とキャプチャの機能しか持ってないよ。
というのは間違いだたね。
漏れが言いたかったのは後半のことで、
ストリームで流れ込んでくるWAVEデータを取り込む
機能やそれをファイルに落とす機能までは持ってないよ
ということです。失礼しました。
0729デフォルトの名無しさん
2006/08/22(火) 04:43:55http://namako.oops.jp/daisei/up/img/035.jpg
こんな感じのコンポーネントというかツールをフォームに追加したいのですが
なんという名前のものなんでしょうか?
0730デフォルトの名無しさん
2006/08/22(火) 06:26:310731デフォルトの名無しさん
2006/08/22(火) 07:15:140732デフォルトの名無しさん
2006/08/22(火) 11:00:57まあ、ライブラリ全部.NETに依存してるんだからしょうがない。
0733デフォルトの名無しさん
2006/08/22(火) 11:49:130734デフォルトの名無しさん
2006/08/22(火) 12:27:48今はCOMが管理インタフェース(WMI)の背景技術にいるけど意識なんてしてないだろうし
スクリプトにしても、COMにはWSH、.NETにはMSHがあるけど、きっとほとんどのIT ProはWSHでCOMがどうのなんて意識せず、TechNetスクリプトセンターのコピペ以上の意識は無いだろうな
何の話だったっけ
0735デフォルトの名無しさん
2006/08/22(火) 15:04:140736デフォルトの名無しさん
2006/08/22(火) 17:20:020737デフォルトの名無しさん
2006/08/22(火) 17:42:400738デフォルトの名無しさん
2006/08/22(火) 18:05:16鏡理論って知ってる?
0739デフォルトの名無しさん
2006/08/22(火) 18:39:030740デフォルトの名無しさん
2006/08/22(火) 19:02:33×厨をイジメる
◎厨を煙に巻く
0741デフォルトの名無しさん
2006/08/22(火) 20:51:13作る側になることなんて一生ないんだろうな〜て思ってたけど
今ごろになって舞い降りてきやがった。
古典的なDLLをC#から使いたかったわけなんだけど
仲介役ににはもってこいだな。COM
0742デフォルトの名無しさん
2006/08/22(火) 20:53:110743デフォルトの名無しさん
2006/08/22(火) 21:01:500744デフォルトの名無しさん
2006/08/22(火) 22:56:45p/invoke って知ってる?
0745デフォルトの名無しさん
2006/08/22(火) 23:18:05まあでもそういうCOMの使い方もありかな。
0746デフォルトの名無しさん
2006/08/22(火) 23:19:060747デフォルトの名無しさん
2006/08/22(火) 23:20:320748デフォルトの名無しさん
2006/08/22(火) 23:21:12できる。
http://msdn2.microsoft.com/ja-jp/library/h627s4zy.aspx
0749デフォルトの名無しさん
2006/08/22(火) 23:30:480750デフォルトの名無しさん
2006/08/23(水) 10:04:0110年以上春休みが続いてる俺の気持ちを察しろ!
0751750
2006/08/23(水) 10:04:500752デフォルトの名無しさん
2006/08/23(水) 10:10:400753デフォルトの名無しさん
2006/08/23(水) 11:02:24IEnumerable<int> BottomTop {
get {
yield return 1;
yield return 2;
yield return 3;
}
}
IEnumerator<int> BT {
get {
yield return 1;
yield return 2;
yield return 3;
}
}
}
すまんがBottomTopは何でコンパイル通るの?暗黙の変換でもついてるのか?
0754デフォルトの名無しさん
2006/08/23(水) 11:33:590755デフォルトの名無しさん
2006/08/23(水) 11:47:420756デフォルトの名無しさん
2006/08/23(水) 11:48:060757755
2006/08/23(水) 11:52:250758デフォルトの名無しさん
2006/08/23(水) 14:00:28なんの話なのか気になるのは俺だけ? w
0759デフォルトの名無しさん
2006/08/23(水) 16:29:57Obsolate で dontEscape が常に false として扱われてしまうんだけど
Shift_JIS などでエンコーディングされたアドレスの Uri インスタンスを
作るにはどうすればいいの
0760デフォルトの名無しさん
2006/08/23(水) 16:53:08できますか?
0761デフォルトの名無しさん
2006/08/23(水) 17:56:000762デフォルトの名無しさん
2006/08/23(水) 18:26:15フルに写すように画像をリサイズするとなるとめんどくさそう。
0763デフォルトの名無しさん
2006/08/23(水) 18:39:36デコードして食わせりゃ委員ジャマイカ?
0764デフォルトの名無しさん
2006/08/23(水) 21:11:220765デフォルトの名無しさん
2006/08/23(水) 22:45:360766デフォルトの名無しさん
2006/08/24(木) 05:20:23http://headlines.yahoo.co.jp/hl?a=20060824-00000101-yom-soci
0767デフォルトの名無しさん
2006/08/24(木) 10:18:50{
・・・・
}
上のような関数に2次元配列を
int[,] a = {{1, 2}, {3, 4}};
aa(a[0]);
こんな感じで使う事はC#は出来ないのでしょうか?
出来た言語もあったと思うのですが・・・。
上記のような事をするには、
2次元関数を一次元に変えるか
2次元関数ごと送るように関数を変えるしかないのでしょうか。
0768デフォルトの名無しさん
2006/08/24(木) 10:38:55int[][] a = { new int[] { 1, 2 }, new int[] { 3, 4 } };
0769デフォルトの名無しさん
2006/08/24(木) 14:09:08が、配列が大きいと結構遅くなりますね・・・。
0770デフォルトの名無しさん
2006/08/24(木) 15:49:07aaの引数をIListにして、さらに767のようなことができるよう、
自分で2次元配列の特定の要素だけを参照できるようなIListを実装する。
0771デフォルトの名無しさん
2006/08/24(木) 18:42:12そういうときはaaの引数の型はIEnumerable<int>にした方がいいんじゃないの
0772デフォルトの名無しさん
2006/08/24(木) 19:39:58関数名(クラス名);
とやってもコンパイラが「'クラス名' は '型' ですが、'変数' のように使用されています。」と言ってきてビルドできません。
0773デフォルトの名無しさん
2006/08/24(木) 19:42:23として、
関数名(typeof (ClassName));
0774772
2006/08/24(木) 20:02:52ありがとうございます、知識が一つ増えました
ただ、.Net Frameworkのメソッドに渡したかったので引数の型は変更できません
と思ったら、
public XmlSerializer (Type type)にtypeof(静的クラス名)を渡した時点で
「静的型は、パラメータや戻り値の型としては使用できません。」と言われました
もしかして>>772もこう言われるのかも知れません
ちょっと実行してきます
0775デフォルトの名無しさん
2006/08/24(木) 20:11:54おまいに必要なのは静的クラスじゃなくてシングルトンだ
0776772
2006/08/24(木) 20:35:26>「静的型は、パラメータや戻り値の型としては使用できません。」
はXmlSerializerが言ってくるメッセージでした
ただTypeを渡しても中身は渡せないような…
そもそも静的クラスの型が参照できる範囲では静的クラスを渡す必要がないので
こういう作り方をするなってことですね、失礼しました
0777デフォルトの名無しさん
2006/08/24(木) 20:46:020778デフォルトの名無しさん
2006/08/24(木) 20:47:38静的クラスはインスタンス化できませんよ
0779デフォルトの名無しさん
2006/08/24(木) 20:53:46static のついた内部クラスのことか?
0780デフォルトの名無しさん
2006/08/24(木) 20:58:17リフレクション(GetMethodとか)を使えばTypeオブジェクトが表す静的クラスのメソッドを呼び出したりできるよ
意味があるかは別だけど
0781デフォルトの名無しさん
2006/08/24(木) 21:02:14Reflectionがあるから、Cとかよりややこしいのは確かだがな
0782デフォルトの名無しさん
2006/08/24(木) 21:04:35C# 2.0の新機能。
0783デフォルトの名無しさん
2006/08/24(木) 21:36:40thx。static 制約付きのツールキット用のクラスね
0784デフォルトの名無しさん
2006/08/25(金) 08:13:09書き込み前のクッキー取得の際にRefererとUser-AgentをPOSTすると、りふぁら情報がありませんと返ってきます
板のトップページのURLをbyte型になおして送ってるつもりなんですが…
どうしたらうまく行きますでしょうか…
0785デフォルトの名無しさん
2006/08/25(金) 08:23:11なぜ byte 型に直す?
HttpWebRequest 使ってるなら Referer と UserAgent に string セットすれば良いはずだけど。
0786784
2006/08/26(土) 01:51:31ありがとうございます
なんとかなりました
次にこの取得したcookieを保持して>>784の方法で書き込みデータをPOSTしようとしたのですが、クッキー確認のページが返ってきます
PONとかHAPだとかという値は取得できたことは確認できているのですが、
どうすればクッキーを保持した状態で書き込みできるんでしょうか?
0787デフォルトの名無しさん
2006/08/26(土) 02:01:320788デフォルトの名無しさん
2006/08/26(土) 02:09:19HttpWebRequest.Cookies に、毎回同じ CookieContainer のインスタンスを代入してリクエスト飛ばせばOK。
クッキー帰ってきたら自動的に CookieContainer に入っていくから、次回もそのコンテナを使うの。
>>787
実は twintail は↑みたいにしてないんだ。なぜか。
0789デフォルトの名無しさん
2006/08/26(土) 02:37:01HttpWebRequestのHeaders.Setにクッキーもセットしたら?
0790デフォルトの名無しさん
2006/08/26(土) 09:15:49ストリームのURLを抽出したり、通信プロトコルの解析まで
するような機能は持ってないからな、DirectShowは。
0791デフォルトの名無しさん
2006/08/26(土) 09:28:20ユニコード文字列を string にするにはどうしたらよいのでしょうか?
二つ連続して'\0'が並んでるところを検索して長さを測り、
Encoding.GetString(byte[],Int32,Int32) を呼び出すより
スマートなやりかたがあったら教えてください。
0792デフォルトの名無しさん
2006/08/26(土) 10:29:38それをコンストラクタへ渡すということはできないかい?
0793デフォルトの名無しさん
2006/08/26(土) 14:54:48ダイアログの文字列などを「日本語」と「日本語(ひらがなのみ)」で
切り替えられるようにしたいのです。
Localizableをtrueにして「ひらがな」の文字列を
恐らく誰も使わないであろうLanguageで設定する以外の方法で、
簡単に実現する方法はありませんか?
0794デフォルトの名無しさん
2006/08/26(土) 15:03:26条件でどちらを読むか指定したらいいんでない?
コントロールのテキストだったら数が多いと手動でやるのは大変だけど
メッセージボックス程度なら簡単でしょ
>恐らく誰も使わないであろうLanguage
に設定したら、OSがその言語設定になっていないと
でてこないっしょ
0795デフォルトの名無しさん
2006/08/26(土) 19:00:140796デフォルトの名無しさん
2006/08/26(土) 19:02:52ある一つのフォームの場合のみ、親フォームをクリックできてしまいます。
その他はちゃんとモーダルになってます。
どうすればモーダルになるでしょうか?
0797デフォルトの名無しさん
2006/08/26(土) 19:03:530798デフォルトの名無しさん
2006/08/26(土) 19:09:22シープラプラのプラプラ がくっついたヤツ
0799デフォルトの名無しさん
2006/08/26(土) 19:12:21しー いげた
0800デフォルトの名無しさん
2006/08/26(土) 20:24:140801デフォルトの名無しさん
2006/08/26(土) 21:57:260802デフォルトの名無しさん
2006/08/26(土) 22:06:57親と同じスレッドでShowDialogしてるか確かめる
0803デフォルトの名無しさん
2006/08/27(日) 00:49:120804デフォルトの名無しさん
2006/08/27(日) 00:55:450805デフォルトの名無しさん
2006/08/27(日) 01:05:32レスThxです
やっぱり楽をする方法はない、ってことですね・・・
0806デフォルトの名無しさん
2006/08/27(日) 08:44:40textboxを継承したクラスにonpaintをオーバーライドしてやれば
できるんでしょうか?
0807デフォルトの名無しさん
2006/08/27(日) 10:07:12やってみてから質問してよ
無償の愛を貪り喰いたいだけならこっちへ行けば
ふらっとC♯(初心者用) Part8
http://pc8.2ch.net/test/read.cgi/tech/1148310124/
0808デフォルトの名無しさん
2006/08/27(日) 10:24:57スレ違い
どっかいけ!!
くそ教えて君
0809デフォルトの名無しさん
2006/08/27(日) 10:46:56じぶんなりにやってできなかったので質問してます。
0810デフォルトの名無しさん
2006/08/27(日) 10:57:580811デフォルトの名無しさん
2006/08/27(日) 10:58:030812デフォルトの名無しさん
2006/08/27(日) 11:07:030813デフォルトの名無しさん
2006/08/27(日) 11:17:040814デフォルトの名無しさん
2006/08/27(日) 11:19:59ありがとうございます。もう少し勉強してみます。
0815デフォルトの名無しさん
2006/08/27(日) 11:34:45何も教えないセコセコ君!
0816デフォルトの名無しさん
2006/08/27(日) 12:23:39ただそれだけのことだ。
0817デフォルトの名無しさん
2006/08/27(日) 13:07:19Paintイベントで何かやっても無駄っぽ
0818デフォルトの名無しさん
2006/08/27(日) 14:58:21みんな人間の意地悪な本性むき出しだからね。
匿名掲示板だからしかたないよ・・・
0819デフォルトの名無しさん
2006/08/27(日) 15:33:50くだらない煽りを入れるな。
マジレスしてくれている人達に失礼だろ。
0820デフォルトの名無しさん
2006/08/27(日) 15:35:30取り敢えず、お前が意地悪だという事はよくわかった。
でも誰でも意地悪をむき出しにするとは思うな。引き籠もり君。
0821デフォルトの名無しさん
2006/08/27(日) 17:20:08人って攻撃的で意地悪になるもんだよ。
あとスケベや差別根性なんかもむき出しだよね(・∀・)
0822デフォルトの名無しさん
2006/08/27(日) 17:40:590823デフォルトの名無しさん
2006/08/27(日) 17:51:34木を見て森を見ず
一を知って十を語る
ウリナラマンセー
0824デフォルトの名無しさん
2006/08/27(日) 18:28:060825デフォルトの名無しさん
2006/08/27(日) 20:04:160826デフォルトの名無しさん
2006/08/27(日) 20:32:23Find(List<string> strList)のようなメソッドのMethodInfoのParameterをとるとSystem.Collection.Generic.List~1[System.String]とみじかいなまえになる。
この違いはなんなんだらう・・・
0827デフォルトの名無しさん
2006/08/27(日) 20:55:09MessageBox.Show( type.FullName );
の差?
0828デフォルトの名無しさん
2006/08/27(日) 21:44:45Getcookiesクラス、kakikomiクラスというものを作って
Getcookiesクラスで得たクッキーはkakikomiクラスでも保持されているものなんですか?
それともちゃんと渡さないとだめなんでしょうか?
0829デフォルトの名無しさん
2006/08/27(日) 21:48:230830デフォルトの名無しさん
2006/08/27(日) 21:49:34お前が作ったクラスの仕様を聞いてどうする。
0831デフォルトの名無しさん
2006/08/27(日) 21:53:480832デフォルトの名無しさん
2006/08/27(日) 21:56:040833デフォルトの名無しさん
2006/08/27(日) 22:04:29dsyn
仮引数をどうしたらいいかなと考えていまして・・・・
0834デフォルトの名無しさん
2006/08/27(日) 22:05:48ここはエスパースレじゃありませんことよ
0835デフォルトの名無しさん
2006/08/27(日) 22:19:11そのようですた・・・おrz
ILファイルの読み込みでジェネリック周りにはまってまして書き込んでしまいますた。
0836デフォルトの名無しさん
2006/08/27(日) 23:24:37その言い方自体が、まさに2ちゃんねる的だよね
0837デフォルトの名無しさん
2006/08/27(日) 23:30:080838デフォルトの名無しさん
2006/08/28(月) 02:01:48で表示したページから移動したことを確認するためにはどうしたらいいんでしょうか?
0839デフォルトの名無しさん
2006/08/28(月) 02:06:460840デフォルトの名無しさん
2006/08/28(月) 03:47:46少し資料が少なくて困っています・・・・
0841デフォルトの名無しさん
2006/08/28(月) 08:08:00それもいかにも2ちゃんねる的な喋り方の見本ですね
0842デフォルトの名無しさん
2006/08/28(月) 09:43:44Getcookiesクラスのクッキーはkakikomiクラスでは保持されない仕様だよ
0843デフォルトの名無しさん
2006/08/28(月) 09:45:00資料も何も
クラスライブラリのリファレンス見ろとしか。。
最低それ見てからごちゃごちゃ言いなさいよ
0844デフォルトの名無しさん
2006/08/28(月) 10:37:28MSDNって知ってる?
http://www.microsoft.com/japan/msdn/
マイクロソフトサポートって知ってる?
http://support.microsoft.com/?LN=JA
ネット上にある資料の9割以上はこの2つの無償情報源から派生している
余程隠れた機能じゃない限り資料が無いなんてことは絶対に無い
0845デフォルトの名無しさん
2006/08/29(火) 15:14:05↑どうやって調べた?
0846デフォルトの名無しさん
2006/08/29(火) 15:15:56カラム数づつ配列にブチ込むにはどうしたらいいでしょうか?
0847デフォルトの名無しさん
2006/08/29(火) 15:21:250848デフォルトの名無しさん
2006/08/29(火) 15:27:58MSDNはよくできてると思うが、ものによっては説明が足りない(かなりある)
そこを調べた人がブログなどを書いたものが出回ってるわけだが。
0849デフォルトの名無しさん
2006/08/29(火) 17:05:580850デフォルトの名無しさん
2006/08/29(火) 20:42:17ListViewItem の配列に入れちゃ駄目なのか?
0851デフォルトの名無しさん
2006/08/29(火) 21:59:56ASP.NET1.0で、ttp://www4.atwiki.jp/nishi/pages/54.htmlを参考にして
DataGridにプログラム内で動的にTemplateColumnを追加してみた。
んで、TemplateClolumnのHeaderTemplateに
TableCell tableCell = new TableCell();
ImageButton imageButton = new ImageButton();
imageButton.ID = "hoge";
tableCell.Controls.Add(imageButton);
//この後ヘッダーのセルにtableCellを追加
という感じでImageButtonを追加するプログラムを書く。
が、このImageButtonを押した時のイベントが発生しない。
ググって見たところ、ttp://www.ailight.jp/blog/kazuk/archive/2005/02/10/4369.aspx が
行けるかなぁと思って↓のように書いてみたけど、やはりNavigationButtonClickは無反応・・・
どうすれば、DataGridに動的に追加したTemplateClolumnのImageButtonのイベントを発生させられますか?
public void DataGridItemCreated(object sender, DataGridItemEventArgs e){
if(e.Item.ItemType == ListItemType.Header ){
ImageButton imageButton = (ImageButton)e.Item.FindControl("hoge");
//イベントセット
imageButton.Click += new System.Web.UI.ImageClickEventHandler(NavigationButtonClick);
}
}
//ImageButtonのイベント
public void NavigationButtonClick(object sender, System.Web.UI.ImageClickEventArgs e){
//ImageButtonの処理【ここを通って欲しい】
}
0852デフォルトの名無しさん
2006/08/29(火) 22:41:42SelectedIndex と SelectedTab だと TabControl にフォーカスされてしまう。
0853デフォルトの名無しさん
2006/08/29(火) 22:48:410854デフォルトの名無しさん
2006/08/29(火) 22:58:00さよならJava
もう君に夢中だよ・・・C#
0855デフォルトの名無しさん
2006/08/29(火) 23:31:16それは本当に java だったのか、もう一度よく考えろ
0856デフォルトの名無しさん
2006/08/29(火) 23:44:04選択変更イベントが左右のキーを押したときでも出てしまうのって何とかならないですかね?
0857デフォルトの名無しさん
2006/08/30(水) 00:02:15すまん、それを書いてなかった。
それをすると TabControl とフォーカスを維持したいコントロールの両方が
一瞬ちらつくというか挙動が見苦しいんだ。
0858デフォルトの名無しさん
2006/08/30(水) 07:38:15ではどうやって何の例外かわからないのを受けるですか?
0859デフォルトの名無しさん
2006/08/30(水) 07:49:48自分が処理できない例外を catch するな、と言う事だ。
つか何の例外か分からないってのに問題がある。
0860デフォルトの名無しさん
2006/08/30(水) 11:01:01try {} catch(Exception) {} で囲ったら実は返ってきてたのが
IndexOutofRangeException で、それをなんでこの
自作例外が返ってくるんだと2時間ばかし悩んだとかあるな。
0861デフォルトの名無しさん
2006/08/30(水) 11:49:37try{}
catch(Exception ex){
ex.printStackTrace();
}
でエラー処理完了だとおもっとる。
オラクルのエンタープライズマネージャコンソールとか
DOS窓にNullPointerExceptionとかエラーがズラズラ出まくっとる
0862デフォルトの名無しさん
2006/08/30(水) 12:10:00どんなエラーが起きてもそこで終わらせるつもりならOK
0863デフォルトの名無しさん
2006/08/30(水) 12:31:04Cでは全部printfでできたけど・・・・
0864デフォルトの名無しさん
2006/08/30(水) 12:36:31textBox.Text = hoe.ToString();
0865デフォルトの名無しさん
2006/08/30(水) 12:40:44できました
ありがとうございます
0866デフォルトの名無しさん
2006/08/30(水) 14:25:45一括りにキャッチするのはパフォーマンスが悪いって事でしょ
0867デフォルトの名無しさん
2006/08/30(水) 14:33:50それなら無視して実行停止させたほうがマシってことでしょ
0868デフォルトの名無しさん
2006/08/30(水) 16:24:480869デフォルトの名無しさん
2006/08/30(水) 16:29:550870デフォルトの名無しさん
2006/08/30(水) 17:56:510871デフォルトの名無しさん
2006/08/30(水) 20:00:33完成したら、詳しくお聞きしたい
0872デフォルトの名無しさん
2006/08/30(水) 22:42:18いっぱいあるとリソースをいっぱい圧迫しますか?
ペイントツールで、塗りつぶし用の色の一覧を出すときは、
Brush の配列を持っているんじゃなくて、
Brush を作るのに必要な情報だけを入れるクラスをつくっておいて
そちらに入れておくべきでしょうか?
0873デフォルトの名無しさん
2006/08/30(水) 23:09:59colorの配列でよろしがな
0874デフォルトの名無しさん
2006/08/31(木) 06:53:03お勧めの本とかあります?
0875デフォルトの名無しさん
2006/08/31(木) 08:51:35MSDNライブラリ
0876デフォルトの名無しさん
2006/08/31(木) 08:56:57public bool printFile(String file) {
bool result = false;
InternetExplorer app = new InternetExplorerClass();
app.Visible = pvisible;
Object tmp = Type.Missing;
app.Navigate(file, ref tmp, ref tmp, ref tmp, ref tmp);
while (app.Busy) {
System.Threading.Thread.Sleep(500);
}
if (pvisible) {
app.ExecWB(OLECMDID.OLECMDID_PRINTPREVIEW2, OLECMDEXECOPT.OLECMDEXECOPT_DODEFAULT, ref tmp, ref tmp);
}
else {
app.ExecWB(OLECMDID.OLECMDID_PRINT2, OLECMDEXECOPT.OLECMDEXECOPT_DODEFAULT, ref tmp, ref tmp);
}
app.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(app);
return result;
}
System.Runtime.InteropServices.COMException はハンドルされませんでした。
Message="登録されていないドロップ先の登録を解除しています (HRESULT からの例外: 0x80040100 (DRAGDROP_E_NOTREGISTERED))"
Source="Interop.SHDocVw"
ErrorCode=-2147221248
StackTrace:
場所 SHDocVw.InternetExplorerClass.ExecWB(OLECMDID cmdID, OLECMDEXECOPT cmdexecopt, Object& pvaIn, Object& pvaOut)
0877デフォルトの名無しさん
2006/08/31(木) 10:36:050878デフォルトの名無しさん
2006/08/31(木) 14:52:53オライリー読んどけ。
0879876
2006/08/31(木) 23:14:44Mainがあるファイルには、
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
と書いてあります
多分自動生成されたそのまま
0880デフォルトの名無しさん
2006/08/31(木) 23:20:470881デフォルトの名無しさん
2006/08/31(木) 23:42:43NavigateComplete2でExecWBやってみたら例外は出なかったよ。
何も起きなかったけど。
0882デフォルトの名無しさん
2006/09/01(金) 00:04:04クライアントから実行できる?CAS次第?
0883876
2006/09/01(金) 00:04:42IEでプリントアウトするようにしたいんですけど
別のメソッドが有ったりしますか?
0884デフォルトの名無しさん
2006/09/01(金) 00:05:32つ DBマガジン2006/10月号
0885デフォルトの名無しさん
2006/09/01(金) 02:23:23↑をインストールしようとしたらWindows XP Service Pack 2にしか対応してないようです
Windows XP Service Pack 1でもインストールできるC#のソフトはないですか?
0886デフォルトの名無しさん
2006/09/01(金) 03:12:020887デフォルトの名無しさん
2006/09/01(金) 05:16:16通常だとドラッグ&ドロップの処理が完了するまでスレッドをブロックしてしまうのですが、
ドラッグ&ドロップ中もマウスホイールなどのイベントを処理したいと思っています。
そこで試しに次のように別スレッドでDoDragDropを呼ぶようにしたのですが、
DoDragDropが返り値DragDropEffects.Noneですぐに帰ってきていまいます。
protected override void OnMouseMove(MouseEventArgs args)
{
List<string> files = new List<string>();
...
Thread thread = new Thread(delegate(object p){
DragDropEffects result = this.DoDragDrop(
new DataObject(DataFormats.FileDrop, ((List<string>)p).ToArray()),
DragDropEffects.All);
// result == DragDropEffects.None
});
thread.Start(files);
}
このような時はどのように書けばよいのでしょうか?
0888デフォルトの名無しさん
2006/09/01(金) 23:08:55void func(void** p){
int N = 色々計算する;
*p = malloc(N);
}
というCの関数をC#から呼び出したいのですが
[DllImport("aaa")]
static extern voidl func(...
引数のところはなんと書けば良いのでしょう?
byte[] で受けたいのですがサイズがわからないとマーシャリング不能でしょうか?
0889デフォルトの名無しさん
2006/09/01(金) 23:25:09かなー?
0890デフォルトの名無しさん
2006/09/01(金) 23:30:040891デフォルトの名無しさん
2006/09/01(金) 23:49:550892デフォルトの名無しさん
2006/09/02(土) 00:01:29一旦
static extern voidl func(.ref IntPtr)
で返してもらってC#側でMarshal.Copyでbyte[]に変換することにしました。
ありがとうございました。
0893デフォルトの名無しさん
2006/09/02(土) 00:47:39{
System.IO.StreamReader hReader = new System.IO.StreamReader(filename, System.Text.Encoding.Default);
string[] Buffer;
for (int i = 0; i < hReader.Peek(); i++)
{
Buffer[i] = hReader.ReadLine();
}
}
上で宣言したはずの
「Buffer」が未定義と言われるのですが・・・・
0894デフォルトの名無しさん
2006/09/02(土) 00:50:49ここから先はC#erが仕切ります
0895デフォルトの名無しさん
2006/09/02(土) 00:51:21string[] Buffer = new string[なんたらかんたら];
0896デフォルトの名無しさん
2006/09/02(土) 00:55:51宣言と定義は別だぜー
0897893
2006/09/02(土) 00:57:25わかりましたー
ありがとうございます
0898デフォルトの名無しさん
2006/09/02(土) 00:57:580899デフォルトの名無しさん
2006/09/02(土) 01:04:340900893
2006/09/02(土) 01:05:41string[] Buffer = new string[なんたらかんたら];
の
[なんたらかんたら]
ってのは配列の長さですよね?
0901デフォルトの名無しさん
2006/09/02(土) 01:09:34そうだよ。途中で足りなくなりそうだったらRezie()を。
0902デフォルトの名無しさん
2006/09/02(土) 01:09:56○Resize()
0903デフォルトの名無しさん
2006/09/02(土) 02:11:10Control.BeginInvokeの後はEndInvokeを呼ばなくてもよくて
Delegate.BeginInvokeの後は、必ずEndInvokeを呼ばないといけないって認識で合ってますか。
0904デフォルトの名無しさん
2006/09/02(土) 02:26:290905デフォルトの名無しさん
2006/09/02(土) 02:27:000906デフォルトの名無しさん
2006/09/02(土) 10:41:15うい。
0907デフォルトの名無しさん
2006/09/02(土) 16:12:53Control.EndInvokeが呼ばれるまで状態(戻り値とか)が保存されるので
どっちも駄目なような。
ていうかワーカースレッドなんて少々止まってもいいし、UIスレッドが
何らかの理由でとまっていると鬼のようにBeginInvokeが溜まっていくから
ほとんどの状況でInvoke以外俺は要らない。
0908デフォルトの名無しさん
2006/09/02(土) 17:12:380909デフォルトの名無しさん
2006/09/02(土) 17:27:08ならこういったらいいか。必要な状況が経験上ほとんど想定できない。
個人的には、事前先読みに使っているぐらいだな。EndInvokeを呼ぶのが
メドイ。呼ぶためにPoolつかったら逆に重くなったし。
それでもバリバリ使っている人もいるかもしれないから「俺は」つけた
だけなんだけど。
0910デフォルトの名無しさん
2006/09/02(土) 20:30:49FlatternHierarchy では private なメンバが含まれなくて……。・゚・(ノД`)・゚・。
0911デフォルトの名無しさん
2006/09/02(土) 20:34:09> Control.EndInvokeが呼ばれるまで状態(戻り値とか)が保存されるので
> どっちも駄目なような。
これってメモリリークみたいに徐々にメモリを消費していくってこと?
それともコントロールにつき1つだけ保存されて、
残りは自動的に破棄されたりするようになってるのかな。
0912デフォルトの名無しさん
2006/09/02(土) 20:43:13NonPublic とかなかったっけ
0913デフォルトの名無しさん
2006/09/02(土) 20:45:16BaseType から辿って再帰。
0914デフォルトの名無しさん
2006/09/02(土) 20:49:05いや、それ含めてもダメだった orz
>>913
了解……。やっぱり子クラスからアクセスできないフィールドは GetFields では取得できないんスかね……。
とりあえず BaseType たどります。ありがとうございました orz
0915デフォルトの名無しさん
2006/09/02(土) 20:55:080916デフォルトの名無しさん
2006/09/02(土) 21:26:190917デフォルトの名無しさん
2006/09/02(土) 21:30:06ベストなバストはなにサイズ? 協力してちょ
http://human5.2ch.net/test/read.cgi/honobono/1157170883/
0918デフォルトの名無しさん
2006/09/02(土) 21:44:31それは別問題だろ
0919デフォルトの名無しさん
2006/09/02(土) 23:05:53配列変数というものを使ってみようとしてるのですが、エラーが出ます。
int[] xx;
xx = new int[3];
本に書いてあるとおりそのままやってるのですが、これだとエラーが出ます。
なぜなのでしょうか?
0920デフォルトの名無しさん
2006/09/02(土) 23:11:58どこか違うところに問題があるはず
エラーメッセージと該当する行を確認
0921デフォルトの名無しさん
2006/09/02(土) 23:24:16↓みたいにやってるとエラーでるのですが、
static void Main()
{
Application.Run(new Form1());
}
int[] xx; //●
xx = new int[3];//●●
private void button1_Click(object sender, System.EventArgs e)
{
}
0922デフォルトの名無しさん
2006/09/02(土) 23:25:47とりあえず、レスありがとうございます。
>>921のやり方だとエラーが出るのですが、↓だとエラーがでない。
もうよく分からなくなってきました。
static void Main()
{
Application.Run(new Form1());
}
private void button1_Click(object sender, System.EventArgs e)
{
int[] xx; //●●
xx = new int[3];//●●
}
0923デフォルトの名無しさん
2006/09/02(土) 23:30:30xx = new int[3];
みたいなものは Statement って呼ばれるんだけど、Statement は Method 内でしか記述できないよん
>>921 は Method 外に書いてあるからエラー。>>922 は Method 内で書いてあるからOK
0924デフォルトの名無しさん
2006/09/02(土) 23:32:13そういうことなのですね、よくわかりました。
ありがとうございました。
0925デフォルトの名無しさん
2006/09/02(土) 23:32:15なら921でもOK
0926デフォルトの名無しさん
2006/09/03(日) 09:46:310927デフォルトの名無しさん
2006/09/03(日) 10:59:29質問に答える人はエラーメッセージがわかってれば>>920のように困ったりはしない。
プログラム作る人はユーザーにエラーメッセージを書いてもらう立場なんだからしっかりしてくれ。
0928デフォルトの名無しさん
2006/09/03(日) 13:23:58GetLastErrorのWin32エラーコードから;et@ei^ytyr。mkf3ljpyt?
MarshaliHRESULT:[email protected]@rt@
0929デフォルトの名無しさん
2006/09/03(日) 13:26:400930デフォルトの名無しさん
2006/09/03(日) 13:34:16Exception e = Marshal.GetExceptionForHR(Marshal.GetHRForLastWin32Error());
0931デフォルトの名無しさん
2006/09/03(日) 22:41:00引数があるかどうかを調べたいのですが
string[] cmds = new string[5];
cmds[1] = "";
cmds = System.Environment.GetCommandLineArgs();
//引数未入力時
if (cmds[1] == "")
{
これですと、引数が無いときにif文で
「インデックスが配列の境界外です。」とエラーが出てしまいます。
どうすればいいのでしょうか?
0932デフォルトの名無しさん
2006/09/03(日) 22:44:54とした時点で
cmds = new string[5];
cmds[1] = "";
は完全に無意味になってるぞ
cmds.Length で引数の個数を見るこった
0933デフォルトの名無しさん
2006/09/03(日) 22:47:16解決しました。
ありがとうございます!
0934デフォルトの名無しさん
2006/09/03(日) 22:52:150935デフォルトの名無しさん
2006/09/03(日) 22:52:33キーボード入力のようにJoypadからイベントを起すことが
できるのでしょうか?
素朴な質問です。
0936デフォルトの名無しさん
2006/09/03(日) 22:54:560937デフォルトの名無しさん
2006/09/03(日) 22:56:270938デフォルトの名無しさん
2006/09/03(日) 22:56:29ココで聞く前に、
引数無いときはcmd[1]に要素が無いから代入してみたら…
などと、無駄なことを何回か試行錯誤してました。
0939デフォルトの名無しさん
2006/09/03(日) 23:03:040940デフォルトの名無しさん
2006/09/03(日) 23:07:400941デフォルトの名無しさん
2006/09/03(日) 23:09:43ありがとうございました。
0942デフォルトの名無しさん
2006/09/04(月) 00:19:22MessageBox みたいなクラスはライブラリにありますか?
java の JOptionPane.showOptionDialog みたいなことがしたいんです。
ヘルプは見たし、ぐぐってもみましたが、
MessageBox はそういう使い方はできなさそうだし、
自力では見つけられませんでしたのでよろしくお願いします。
0943デフォルトの名無しさん
2006/09/04(月) 00:23:35ちょっと無理かなー
自前で作っちゃったほうが早いですよー
0944デフォルトの名無しさん
2006/09/04(月) 00:35:11また、今までDelphiを使ってきましたが、VC#も同じようなRADなのですか。
0945デフォルトの名無しさん
2006/09/04(月) 00:40:400946デフォルトの名無しさん
2006/09/04(月) 00:41:39必須と不要の中間くらい。あるに越したことはないです。
そして RAD です。
0947デフォルトの名無しさん
2006/09/04(月) 00:47:51HttpUtility とかいうクラスなかったっけ
0948デフォルトの名無しさん
2006/09/04(月) 00:53:22うあ。すまん。& とか " とかを & や " に変換させたいと言いたかったんだ orz
まあ良いや。
HttpUtility.HtmlDecode ですね。ちょっと試してみますー
0949デフォルトの名無しさん
2006/09/04(月) 02:59:570950デフォルトの名無しさん
2006/09/04(月) 12:52:230951デフォルトの名無しさん
2006/09/04(月) 16:49:180952デフォルトの名無しさん
2006/09/04(月) 16:50:02ネイティブアプリから、
.netFrameworkがインストールされているかどうか
調べる方法はありますか?
0953デフォルトの名無しさん
2006/09/04(月) 18:00:01%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\csc.exeなど
ディレクトリの特定のファイルを調べるので十分だと思う。
あとは、CorBindToRuntimeExで実際に起動してみるというのはどう?
0955デフォルトの名無しさん
2006/09/04(月) 23:39:19MSが提示している方法は%systemroot%\Microsoft.NET\Framework以下の
vなんとかというフォルダの存在を調べることとなっている。
http://support.microsoft.com/?scid=kb;ja;318785
0957デフォルトの名無しさん
2006/09/05(火) 07:54:42>通常だとドラッグ&ドロップの処理が完了するまでスレッドをブロックしてしまうのですが、
ブロックされるのはマウスとキーボードのイベントでスレッドではない。
ドラッグドロップのためにフックされている。
別スレッドでDoDragDroをつかうことは見当はずれなだけではなく、
GUIに関する操作はGUIが所属するスレッド中で行うという原則にも反する。
ドラッグドロップ中にリストコントロールのスクロールを行いたい場合は
マウスカーソルがリストコントロールの上部または下部にある時に
DragOverイベントでスクロール処理を行うようにコーディングする。
これと同様の処理をエクスプローラがやっているので参考にできる。
0958887
2006/09/05(火) 08:20:03レスどうもありがとうございます。
DragOverの方はカーソルがクライアント領域外に出た後に追跡できないのがいささか不便ですが、何とかなりそうです。
マウスホイールの方はやはり無理でしょうか?
たとえばfirefoxではドラッグ操作中でもホイールによるスクロールが可能なので、これも不可能ではないと思うのですが。
ご存知の方がいましたらよろしくお願いします。
0959デフォルトの名無しさん
2006/09/05(火) 09:37:07Control.WndProc でごりごり書くしかないんじゃないかな。
どういうプロトコルでマウスホイールがイベントが処理されているかは自分で調べるしかなさそうだけど。
0960デフォルトの名無しさん
2006/09/05(火) 10:19:100961デフォルトの名無しさん
2006/09/05(火) 10:29:080962デフォルトの名無しさん
2006/09/05(火) 10:29:36QueryContinueDragで処理するのが定石。
ホイールは無理だが。
あと、DoDragDropの呼び出しタイミングは二つある。
一つはMouseMoveで、ドラッグサイズ以上に動いた瞬間。
もう一つは、MouseMoveでクライアントウインドウを出たタイミング。
後者の方法は、基本的にウインドウに閉じたD&DでMouseDown+Move+Upで処理する事にして、
他のウインドウにはみ出した場合のみDoDragDropを使う。
この場合は、D&Dがウインドウ内に収まっている場合はホイールに応答できる。
0963デフォルトの名無しさん
2006/09/05(火) 12:55:01うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ
うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ
うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ
うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ
うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ
うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ
うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ
うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ
うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ
うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ
0964デフォルトの名無しさん
2006/09/05(火) 23:50:510965デフォルトの名無しさん
2006/09/06(水) 02:32:55なんでフックする必要あるんだ?
0966プログラム自体初心者
2006/09/06(水) 10:01:38MSDNなどを見ても、ソースコードの書き方がイマイチわかりません。
どなたかヒントだけでも頂けないでしょうか?差し出がましいですが、サンプル書いてもらえると助かります。
よろしくお願いいたします。
0967デフォルトの名無しさん
2006/09/06(水) 10:09:09落ちついてスレタイをよく見ろ。
つ Win32API質問箱 Build45
0968プログラム自体初心者
2006/09/06(水) 10:58:58失礼しました。
本スレに書き込みました。
0969887
2006/09/06(水) 11:10:22WndProcをオーバーライドしてみましたが、やはりドラッグ中はホイールイベントが来ませんでした。
フックという方法は思いつきませんでしたが、さすがにこれならできそうな気がするのでやってみようと思います。
0970887
2006/09/06(水) 12:32:46こんな感じです。
_hookProc = delegate(int nCode, IntPtr wParam, IntPtr lParam) {
if (nCode >= 0 && lParam != IntPtr.Zero) {
if (ドラッグ中なら) {
MSG msg = (MSG)Marshal.PtrToStructure(lParam, typeof(MSG));
if (msg.message == WM_MOUSEWHEEL) {
int lp = (int)msg.lParam;
int wp = (int)msg.wParam;
Point pt = this.PointToClient(new Point((int)(lp & 0x0000ffff), (int)((lp & 0xffff0000) >> 16)));
MouseButtons btns = MouseButtons.None;
int b = (int)(wp & 0x0000ffff);
if ((b & MK_LBUTTON) != 0) btns |= MouseButtons.Left;
if ((b & MK_RBUTTON) != 0) btns |= MouseButtons.Right;
if ((b & MK_MBUTTON) != 0) btns |= MouseButtons.Middle;
if ((b & MK_XBUTTON1) != 0) btns |= MouseButtons.XButton1;
if ((b & MK_XBUTTON2) != 0) btns |= MouseButtons.XButton2;
int delta = (short)((wp & 0xffff0000) >> 16);
this.OnMouseWheel(new MouseEventArgs(btns, 0, pt.X, pt.Y, delta));
}
}
}
return CallNextHookEx(_hhk, nCode, wParam, lParam);
};
_hhk = SetWindowsHookEx(WH_GETMESSAGE, _hookProc, IntPtr.Zero, AppDomain.GetCurrentThreadId());
・WH_MOUSEによるフックだとホイールのデルタ情報が取得できないようです。
・コールバックのデリゲートはGCを避けるためにメンバのフィールド等に保持する必要があるようです。
0971デフォルトの名無しさん
2006/09/06(水) 12:49:53コールバックのlParamからMOUSEHOOKSTRUCTEXを取得して
そのメンバのmouseDataのHIWORDを見ればOK
0973デフォルトの名無しさん
2006/09/06(水) 16:29:55struct S {
LPCWSTR text;
}
void func(S* s);
て構造体をC#で宣言しなきゃいかんのですが
メンバ「text」は何と定義すればいいのでしょう?
IntPtrで宣言してMarshal.ToHGlobalUniで取ったポインタ代入?
S s; s.text= Marshal.ToHGlobalUni("あああ");
0974デフォルトの名無しさん
2006/09/06(水) 16:37:05string でも動くんじゃね
0975デフォルトの名無しさん
2006/09/06(水) 17:08:54なぜか自分以外のPCへ要求するとタイムアウトが発生してしまいます。
関係あるかわからないけど
[プロジェクト]-[プロパティ]-[セキュリティ]は完全に信頼する・・・にしてます。
try{
WebRequest webReq = HttpWebRequest.Create("http://yahoo.co.jp");
webReq.Method = "GET";
webReq.Timeout = 1000;
WebResponse webRes = webReq.GetResponse();
}catch (Exception ex) {
Console.WriteLine(ex.Message);
}
0976デフォルトの名無しさん
2006/09/06(水) 17:17:380977デフォルトの名無しさん
2006/09/06(水) 17:17:550978デフォルトの名無しさん
2006/09/06(水) 17:32:240979デフォルトの名無しさん
2006/09/06(水) 17:42:36わけの分かんないこと言ってんじゃないよ
もう来なくていいよ
0980デフォルトの名無しさん
2006/09/06(水) 17:55:46さすがに駄目だった。C#でメモリ管理したくないからCでラップするか
0981デフォルトの名無しさん
2006/09/06(水) 18:27:02string
ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncscol/html/csharp09192002.asp
0982デフォルトの名無しさん
2006/09/06(水) 18:43:01webReq.GetResponse() は実装されていない。
0983デフォルトの名無しさん
2006/09/06(水) 19:16:070984デフォルトの名無しさん
2006/09/06(水) 19:17:22あれま。他の所でバグってたか。
もう一回チャレンジします。ありがとう。
0985デフォルトの名無しさん
2006/09/06(水) 19:37:07[MarshalAs(UnmanagedType.LPWStr)]
String text;
}
とやったらうまくいった。ありがとう。
0986デフォルトの名無しさん
2006/09/06(水) 21:01:560987デフォルトの名無しさん
2006/09/06(水) 21:21:47つくりたいんですが、できますか?
0988デフォルトの名無しさん
2006/09/06(水) 21:27:12{
Thread.Sleep(1000);
}
0989デフォルトの名無しさん
2006/09/06(水) 21:29:190990デフォルトの名無しさん
2006/09/06(水) 21:46:34Marshal.FreeHGlobalとか呼ぶのやだからこれにしたんだけど
>>985だとFreeしてくれないの?
0991デフォルトの名無しさん
2006/09/06(水) 21:53:260992デフォルトの名無しさん
2006/09/06(水) 21:55:01CoTaskMem 以外から確保したモン以外は多分解放し損ねる
0993デフォルトの名無しさん
2006/09/06(水) 21:56:25まずこっちで確保する場合は問題ないか
0994デフォルトの名無しさん
2006/09/06(水) 22:12:36開放されるよ
0995デフォルトの名無しさん
2006/09/06(水) 22:13:53大丈夫かな。
0996デフォルトの名無しさん
2006/09/06(水) 22:24:56http://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
0997デフォルトの名無しさん
2006/09/06(水) 22:35:260998sage
2006/09/06(水) 22:41:430999デフォルトの名無しさん
2006/09/06(水) 22:43:18C♯, C#相談室 Part34
http://pc8.2ch.net/test/read.cgi/tech/1157549657/
1000デフォルトの名無しさん
2006/09/06(水) 22:43:3810011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。