C♯相談室 Part17
レス数が1000を超えています。これ以上書き込みはできません。
0001名無しさん♯
NGNG(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。
過去スレは>>2-5あたり。
関連リンク
http://onigiri.s3.xrea.com:8080/csharp/index.php?%5B%5B%A5%EA%A5%F3%A5%AF%5D%5D
ソース置き場.NET
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049&rm=10
0002名無しさん♯
NGNGPart16 http://pc5.2ch.net/test/read.cgi/tech/1087297504/
Part15 http://pc5.2ch.net/test/read.cgi/tech/1083066815/ (現在HTML化待ち)
Part14 http://pc5.2ch.net/test/read.cgi/tech/1076933504/ (現在HTML化待ち)
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 http://pc.2ch.net/tech/kako/977/977112364.html
0003デフォルトの名無しさん
NGNG乙かれ
0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNG同じ位の強さのピッコロさんと二人がかりでやっと倒したラディッツと匹敵する戦闘力を持つ栽培マンを
あっさり倒した天津飯・ピッコロ等が束になっても敵わないナッパを悠々倒した悟空の2倍以上強いベジータが
かなりパワーアップしても全く相手にならない強さのリクームを一撃で倒した悟空が更にパワーアップしても、
それを半分の力で殺せるフリーザをあっという間にバラバラにして消した未来のトランクスでさえ仲間と束になっても
敵わない人造人間17・18号に匹敵する強さを持った神コロ様でも敵わない程に
生体エネルギーを吸って強くなったセルと互角の16号を大きく越える17号吸収態セルを子供扱い出来る
精神と時の部屋パワーアップ後のベジータと随分差がある悟空でも勝てない完全体セルを
一方的に痛めつけることが出来るブチ切れ悟飯をも越えたベジータが命を賭けても倒せなかった魔人ブウが
更に凶悪になったブウと互角以上の戦いをしたゴテンクスよりも強くなった悟飯でも全く歯が立たない
ゴテンクス&ピッコロ吸収ブウが更に悟飯を吸収して強化しても全く歯が立たないC#が最強。
0006デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNGつまりC# = ベジットである、と。
0008デフォルトの名無しさん
NGNGCω = 亀仙人の亀
0009デフォルトの名無しさん
NGNGどうすればいいのよ?
0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNG意味が分からないが単に配列のサイズを知りたいと解釈すると Array.Length
0012デフォルトの名無しさん
NGNGはい。
ttp://www.syncfusion.com/products/edit.asp
0013デフォルトの名無しさん
NGNG5万は高いだろ。しかも海外製だから設定ウィンドウも英語だろうし・・・
0014デフォルトの名無しさん
NGNG質問の文章に第三者が問題を理解するのに十分な情報が含まれていないとことがしばしばあります.
このような状況で求められる極限的な推理を,私はしばしば「メタ推理」と読んでいます.
>>9
もうとてもとてもいい感じに足りてません.
0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNGなにとなにって質問の仕方からして
始めからtwintailとCastellaだって
知ってたんじゃねーか?
00189
NGNGclass indexer{
private int array[];
public int this[int i]{
get{ return array[i]; }
set{ array[i] = value; }
}
}
このとき、外部からarrayのサイズを知るにはどうしたらオケ?
サイズを取得するにはそのためのコードを
インデクサ側でそのつど用意する必要があるとか。
// class indexer内
public int GetArraySize(){
return array.Length;
}
// 外部クラス
indexer idxr;
:
int arraySize = idxr.GetArraySize();
0019デフォルトの名無しさん
NGNGインデクサは結局配列を模することができるただの関数にほぼ
等しいんだからサイズなんて概念が存在しない配列のようにも
作りうるわけで、ということは用意する必要があるのではないかと
思うのだけれども、どうだろうか。
0021デフォルトの名無しさん
NGNGAssembly.LoadFrom().GetType().InvokeMember()
でコンストラクタ呼び出しという手順で良いんでしたっけ?
0022デフォルトの名無しさん
NGNGIntPtr formHDC = gForm.GetHdc();
Bitmap bmp = new Bitmap(@"D:\1.JPG");
Graphics gBmp = Graphics.FromImage(bmp);
IntPtr bmpHDC = gBmp.GetHdc();
API.BitBlt(formHDC, 0, 0, Width, Height, bmpHDC, 0, 0, 0x00CC0020);
gBmp.ReleaseHdc(bmpHDC);gForm.ReleaseHdc(formHDC);
Picturebox1に描画されないのはどこがいけないからなのですか?
002322
NGNGpublic class API
{
/// BitBlt
[DllImport("gdi32.dll", ExactSpelling=true, SetLastError=true)]
public static extern long BitBlt(IntPtr hObject, int nXDest, int nYDest, int nWidth, int nHeight, IntPtr hObjSource, int nXSrc, int nYSrc, int dwRop);
}
Width=200 ; Height=200;
0024デフォルトの名無しさん
NGNGBitBlt の戻り値はどうなってますか?
あとこれ描画されても(タイミング次第で)すぐ消えるとおもいますが、
その辺は承知ですよね。
002522
NGNG>あとこれ描画されても(タイミング次第で)すぐ消えるとおもいますが
知らなかったです。
以前、VB6でAPIを使ってたのですがC#になってからはよくわかりません。
C#でうまく描画されるサンプルを見せていただけないでしょうか?
0026デフォルトの名無しさん
NGNG必ず API でやる必要があるのですか?
HDC を経由しなくて良いなら、
任意の時点で pictureBox1.BackgroundImage = new Bitmap(@"D:\1.JPG"); するとか、
Paintイベントのハンドラでe.Graphics.DrawImage(bmp, 0, 0, Width, Height); とか、
簡単なんですけど。
002724=26
NGNG(多分 HDC が転送先と互換でないため)
IntPtr hdcForm = e.Graphics.GetHdc();
IntPtr hdcBmp = API.CreateCompatibleDC(hdcForm);
IntPtr hbmpOld = API.SelectObject(hdcBmp, bmp.GetHbitmap());
int result = API.BitBlt(hdcForm, 0, 0, 100, 100, hdcBmp, 0, 0, 0x00CC0020);
API.DeleteObject( API.SelectObject(hdcBmp, hbmpOld) );
e.Graphics.ReleaseHdc(hdcForm);
てな感じにC/C++でありがちなコードにすると上手く動くようです。
002924=26
NGNGpublic class API
{
/// BitBlt
[DllImport("gdi32.dll", ExactSpelling=true, SetLastError=true)]
public static extern Int32 BitBlt(IntPtr hdcDst, int nXDest, int nYDest, int nWidth, int nHeight, IntPtr hdcSrc, int nXSrc, int nYSrc, int dwRop);
/// SelectObject
[DllImport("gdi32.dll", ExactSpelling=true, SetLastError=true)]
public static extern IntPtr SelectObject(IntPtr hdc, IntPtr hObject);
/// CreateCompatibleDC
[DllImport("gdi32.dll", ExactSpelling=true, SetLastError=true)]
public static extern IntPtr CreateCompatibleDC(IntPtr hdc);
/// DeleteDC
[DllImport("gdi32.dll", ExactSpelling=true, SetLastError=true)]
public static extern Int32 DeleteDC(IntPtr hdc);
[DllImport("gdi32.dll")]
public static extern bool DeleteObject(IntPtr hObject);
}
0030デフォルトの名無しさん
NGNGVBのPictureBoxは、それ自体がバッファリングしてるから表示できるんじゃなかったっけ?
0031デフォルトの名無しさん
NGNG0032デフォルトの名無しさん
NGNG0033デフォルトの名無しさん
NGNG0034デフォルトの名無しさん
NGNGログオンできないのですが、IE6.0にしたら何も入れない状態で3回繰り返すとログオンできてし
まいます。ただIEのバージョンを変えただけなのですが、原因が全く分かりません。同じような
経験ある方いませんでしょうか?ソース内にブレイクポイントを入れているのですが、ログオン
はIISが勝手にやってる処理のようです。
0035デフォルトの名無しさん
NGNG異なる場合はシステムデフォルトの等幅日本語フォントに差し替えたいのですが、
どのようにすればいいのでしょう?
MSDNがJavaDocに比べて読みづらいので困ってます・・・。
0036デフォルトの名無しさん
NGNG0037デフォルトの名無しさん
NGNG0038デフォルトの名無しさん
NGNG差分だけ表示させる方法ってあったっけ?
0039デフォルトの名無しさん
NGNG0040デフォルトの名無しさん
NGNGたしかに気に入らない
0041デフォルトの名無しさん
NGNGprivate void button1_Click(object sender, System.EventArgs e)
{
this.textBox2.SelectAll();
}
間違えようの無いソースなんだけど・・・。
ちなみに、正規表現検索やったら、ちゃんとマッチするインデックスと長さは判定できてた。
なのに、選択だけできない。なして?
0042デフォルトの名無しさん
NGNGボタンを押し終わった時のフォーカスの位置を確認すると…。
private void button1_Click(object sender, System.EventArgs e)
{
this.textBox2.Focus();
this.textBox2.SelectAll();
}
とか。
0044デフォルトの名無しさん
NGNG0045デフォルトの名無しさん
NGNG{
this.textBox2.SelectAll();
this.textBox2.Focus();
}
0046デフォルトの名無しさん
NGNG作成したいのですが,どのようにやればよいのでしょうか?
例えば 100 x 100 のサイズの Image オブジェクトから
x1:30, y1:30, x2:10, x2:10 の範囲を別の Image オブジェクトとして
作成したい,といった事です.
よろしくお願いします.
0047デフォルトの名無しさん
NGNGサイズだけ指定したBitmapオブジェクトを作る。
そのBitmapオブジェクトからGraphics.FromImageでGraphicsオブジェクトを得る。
Graphics.DrawImageで描画する。
004846
NGNGありがとうございます.多謝.
0049デフォルトの名無しさん
NGNGImage a;
Image b;
a = new Bitmap(...);
b = new Bitmap(...);
a = b;
とやると a と b の内容は同じになりますよね?
(同じオブジェクトを参照する事になるから)
この時 a の内容を書きかえると b も同時に書きかわってしまいますよね?
a に b の内容をコピーしたい時は
a = new Bitmap(b) のようにする必要があると思うのですが
参照型の変数はこのように値をコピーする必要があるときは
代入だけではコピーにならないという事だと思うのですが
私の理解はあっていますか?
0050デフォルトの名無しさん
NGNG今しがた、2005beta1落としてきて使ってみてる。
2.0の売りはテンプレートなんだな。
0051デフォルトの名無しさん
NGNG0052デフォルトの名無しさん
NGNG0053デフォルトの名無しさん
NGNG参照型ってのは、要はメモリアドレスを指してるわけだ。
実際のオブジェクトが0x00004000からのメモリに入ってるとする。
参照型の変数aはこの0x00004000を保持してるわけだ。
b=aとやると、0x00004000がコピーされてbも0x00004000になる。
a=nullとすると、aが保持してる0x00004000はクリアされる。
でもbの0x00004000という数字は当然そのまま。
実際のオブジェクトにタッチできるってことだ。
nullの代入は実際のオブジェクトを破棄するんではなくて参照(の情報)を破棄するだけ、という結論だな。
まあきわめて単純化した話だがね。
0054デフォルトの名無しさん
NGNG「参照型の変数」ってのは「どのオブジェクトを指しているか」っていう情報を変数に格納しているんだ
だから「a = b」と書けば「b がどれを指しているか」が a にコピーされるし、
「a = null」と書けば「null = 何も指していない」が a にコピーされる
a が何を指しているかなんて b は知ったこっちゃ無いから、
「a = null」しても b は null にならない
がきっとFA
0055デフォルトの名無しさん
NGNGちゃんと意味を理解できてる。
>>52のように思うやつは、言葉として参照型はどうのと覚えていても、
意味は理解していない。
0056デフォルトの名無しさん
NGNG0057デフォルトの名無しさん
NGNG言ってみて、冗談だよーとかいってみる余裕がおまえには足りない.
いってみる
↓
一瞬の空気を読む
↓
反応する
これがいろんな場面で必要なのよ.
こんなの言ってみても兄弟で別に問題ないぞ
0058デフォルトの名無しさん
NGNGinternal使えって言われそうだけど、もうちょっと相手のクラスをしっかり限定できるのが欲しいのです。
0059デフォルトの名無しさん
NGNG設計を見直してみて、他のやり方で実現できないか探ってみてはいかがでしょう。
0060デフォルトの名無しさん
NGNGというかinternalは必然的に相手のクラスを限定できるわけで。
0061デフォルトの名無しさん
NGNGできたらとっくにやってるところ…。
publicで全てのメソッドを公開してるソースが既にあって
それを呼び出すクラスは自分の担当外じゃないので触れられないし、
でも、少しでもスコープを狭くしたいところ…
0062デフォルトの名無しさん
NGNGならば、君の担当だ。
0063デフォルトの名無しさん
NGNGprivate string tt="";
...
private void button1_Click(object sender, System.EventArgs e)
{
tt=picPaths[1].ToString(); // ○
bool mainflg=true;
while(mainflg)
{
tt=picPaths[1].ToString(); // ×
×の所で、「オブジェクト参照がオブジェクトインスタンスに設定されていません。」
って出てきて終わってしまいます。
ちょうどwhileの所が境目みたいなのですが何が原因か分かりません。
分かる方教えてください。
0064デフォルトの名無しさん
NGNGこれだけじゃわかんない。
とりあえずpicPathsとpicPaths[1]はどっちがnullなの?
whileのなかでpicPathsかpicPaths[1]がnullになるような操作してない?
whileを使う以上picPaths[1].ToString()が一回しか実行されて無いとも思えないけど。
006563
NGNG{
picPaths = new ArrayList();
GetAllFiles( Dir, ".jpg", ref picPaths);
}
private static void GetAllFiles(string folder, string searchPattern, ref ArrayList files)
{
string[] fs = System.IO.Directory.GetFiles(folder, searchPattern);
files.AddRange(fs);
}
追加分です。
ちなみに、上の○の所はうまく読込めてました。
NULLになるような事はしてないです。
006663
NGNG別のGraphicsオブジェクトのところで不具合があって、それが今回の×の所で
エラーが起こってたようでした。
0067デフォルトの名無しさん
NGNG変更されていなければそのままタブを閉じて、
変更されていればAskSaveで処理をさせたいと思っています。
ビルド出来るんですが、処理をしようとすると
if(rtb.Text != "")
の部分でエラーが出てしまいます。
初歩的で申し訳ございませんが、ご指南頂けますでしょうか?
private void mnuFileClose_click (object sender, System.EventArgs e)
{
TabPage tb = this.tabControl1.SelectedTab;
RichTextBox rtb = tb.Tag as RichTextBox;
if(rtb.Text != "")
{
if(!AskSave()) return;
}
this.tabControl1.TabPages.Remove( tb );
}
0068デフォルトの名無しさん
NGNGで、どういうエラーなのかね。
NullReferenceのように思えるけど。
rtbがnullになってないか?
0069デフォルトの名無しさん
NGNGすいません、NullReferenceでした。
どうすれば解決できますでしょうか?
0070デフォルトの名無しさん
NGNGまず最初に確認しなければいけないのは、
tb.Tag に、ちゃんと RichTextBox インスタンスへの参照が入っているかどうか
かな?
0071デフォルトの名無しさん
NGNGtb.Tagは未定義になってました。
tb自体はちゃんと参照できてたみたいです。
0072デフォルトの名無しさん
NGNG……じゃあTagにRichTextBoxの参照を入れてなかったんだろう。
自動的に入るとか思ってないよな?
0073デフォルトの名無しさん
NGNGごめんなさい、その辺りのことがまだよく理解できてません。
どういう風に入れるんですか?
0074デフォルトの名無しさん
NGNGいやまあそのまんまなんだが。
TabPage.ControlsにRichTextBoxをAddした時に、そのTabPageのTagにもそのRichTextBoxを代入する。
むしろTabPage.ControlsのなかでRichTextBoxの位置が決まってるなら
実際にRichTextBoxを使う時(上記のコードのような)に
RichTextBox rtb = tb.Controls[0] as RichTextBox;
みたいに決めうちでやってやるとか。
0075デフォルトの名無しさん
NGNG0076デフォルトの名無しさん
NGNGあぁ!そういうことですね!
解りました、有難うございます。
007770
NGNG>>74 と同じ事を言ったつもりが、全然違う意味で伝わっちゃったようでごめんなさいでし
訂正『tb.Tag に、ちゃんと RichTextBox インスタンスへの参照が入ってい“た”かどうか』
0078デフォルトの名無しさん
NGNGpublic class KeyOperatablePictureBox : PictureBox {
public new event KeyEventHandler KeyDown;
protected override bool ProcessCmdKey(ref Message m, Keys key) {
if (this.KeyDown != null) {
this.KeyDown(this, new KeyEventArgs(key));
return true;
}
return base.ProcessCmdKey(ref m, key);
}
}
こんなのを使えばKeyDownを使えるけど……。
もともとユーザ側の操作ではフォーカスを設定できないPictureBoxにKeyDownイベントはどうかなぁ。
0079デフォルトの名無しさん
NGNGてゆうかイベントつけて欲しい。
0080デフォルトの名無しさん
NGNGへ? 普通にできるけど?
0081デフォルトの名無しさん
NGNGprivate void Form1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
MessageBox.Show("aa");
}
で実行して、フォーム上をキーで押しても反応しません。
何か抜けてるのでしょうか?
0082デフォルトの名無しさん
NGNGKeyDownは基本的にフォーカスを持ってるコントロールで発生する。
Formが子コントロールを持つ場合基本的にFormにフォーカスはいかない。
子コントロールを持つFormでForm自身にKeyDown/Up/Pressを受け取らせる場合Form.KeyPreviewをtrueにする。
0083デフォルトの名無しさん
NGNGフォームにコントロールが貼ってあるんでない?
0084デフォルトの名無しさん
NGNG0085デフォルトの名無しさん
NGNG1つの exe を作成する中でいろいろなクラスを作成すると思いますが
それらのクラスのうちそのクラスの中でのみ使いたいメンバには private を
ふってそれ以外はすべて internal にしようかと思っているのですが
public を internal に変更するデメリットはありますか?
その exe 内で定義されるメンバはその exe 以外のところから一切アクセス
させたくないので public を internal にすればよいのか? という単純な
発想からなのですがいまいちこのあたりが理解できていせん...
0086デフォルトの名無しさん
NGNGどちらも再描画の際に呼び出されると本には載っていたのですが。
0087デフォルトの名無しさん
NGNG1つのexeで完結させるというその設計の上ではデメリットはないんじゃないの。
>>86
Paintイベントは外部からも利用できる
0088デフォルトの名無しさん
NGNGそのまま EXE の中に押し込めておくの、どちらがいいんでしょうか
切り離すとすると、DLL と EXE の比が 9:1 くらいになるんですが
0089デフォルトの名無しさん
NGNG(Windows から等の)描画要求があると、まず Control.OnPaint が呼び出されます。
OnPaint のデフォルトの処理内容は、
・まず Paint イベントを発生させる
・イベントがハンドルされなかった場合(ハンドラがない、e.cancel = true など) には、規定の描画処理を行う
というようなものです。
0090デフォルトの名無しさん
NGNG0091デフォルトの名無しさん
NGNGなにを重視するかによるんでは?
管理しやすさ、他での使いやすさ、実行性能などなど
おりゃDLL派
0092デフォルトの名無しさん
NGNG現物は、今新し(ry スレでさっき上げたヤツ
自作スクリプトの実行部分が DLL にあって、EXE はファイルを読み込んで渡すだけ
スクリプト本体は文字列で渡せるし、うまくやれば別アプリに組み込めると思う
ただ、ファイルを読み込む部分は別のアプリに組み込む必要が無い
って感じ
0093デフォルトの名無しさん
NGNG0094デフォルトの名無しさん
NGNG一次元でソートして、二次元に並べなおすじゃだめなん?
0095デフォルトの名無しさん
NGNGだそうですが、何故なのでしょうか?
0096デフォルトの名無しさん
NGNG例) public int this[int index] {}
あたりまえだ
0097デフォルトの名無しさん
NGNG「こんなクラスならstaticインデクサがあっても」みたいな例が思いつかん。
なんかあるかな?
0098デフォルトの名無しさん
NGNGColor 構造体で named color をインデクサで扱えると便利だと思う。
NamedColors とかプロパティでコレクション返すのでも良いけど(コレ追加して欲しいぞ)。
0099デフォルトの名無しさん
NGNGいや、むしろそういうのは Color.ToColor(string name) とかで処理した方が良いと思う
インデクサはあくまで配列のインデックス、ついでに連想配列もできますってだけで、
便利だからって乱用しちゃ、何れ痛い目を見るんじゃないかな?
0100デフォルトの名無しさん
NGNGインデクサって臭そうだよな
0101デフォルトの名無しさん
NGNG>Color.ToColor(string name) とかで・・・
それが既にあることは常識だと思ってマスタ(FromKnownColor / FromName)・・。
サーバ側では Color ってあんまり使わないからマイナーな存在?
漏れが言ってるのは、named color 全体を普通の配列として扱えるようにするようなケース。
「なんかあるかな」を受けてちょっと考えただけなので、あまり強く主張はしません。
0102デフォルトの名無しさん
NGNGFromName とかってなかったっけ?
ライブラリ手元にあるか分からん
だけど、名前付Color と Color は違うから、
あえてやるとすると NamedColor コレクションを作成する方が良いと思う
それならば NamedColor["blue"] とかしっくりくるし、
自分で名前付けることだって NamedColor["MainFormColor"] とかに代入すれば良いから便利だし
0103デフォルトの名無しさん
NGNGレスありがとう。
指定した列の順番で、行がソートされる感じ。
自分で作るしかない?
0104デフォルトの名無しさん
NGNGそれは2次元とは言わないw
とりあえず汎用性に欠けるから、そういうメソッドは無いと思う
自分で作った方が早いよ
0105デフォルトの名無しさん
NGNGもちつけ。
FromName 等があることも、コレクションが良さげなことも既出
0106デフォルトの名無しさん
NGNGArray.Sort()の恩恵にすがるなら……
struct SORT_TBL{
public int pos; // テーブルの位置
public string atai; // 値
};
みたいなのを作って、
SORT_TBL tbl[] = new SORT_TBL[なんとかー];して、
作ったtbl[]に二次元テーブルの行位置と判定に使う値をぶちこんで、
tbl[]をArray.Sortするのだが、このときSortに引き渡すIComparer継承クラスのCompareは
パラメータのobjectをSORT_TBLにキャストしたときの内部値ataiで判定して、
ソートが終わったらtbl[]を先頭から読んでソート後の位置を調べつつ、新しいテーブルを作成。
仕上げに、新しいテーブルの内容を元のテーブルにCopyTo()して出来上がり。
自己満足気味に書いてみたが、たとえばこういう回りくどい方法もあるw
0107デフォルトの名無しさん
NGNGDateTime型に変換するにはどうすればよいのでしょうか?
0108デフォルトの名無しさん
NGNG0109デフォルトの名無しさん
NGNGありがとうございます。できました。
0111デフォルトの名無しさん
NGNGArray.Sortの解説を読もうな。
0113デフォルトの名無しさん
NGNG0114デフォルトの名無しさん
NGNG> インスタンスを作る際に、staticコンストラクタを使用する方法ってありますか?
で、何がしたいんだ?
0115最凶VB厨房
NGNG0116デフォルトの名無しさん
NGNG0117デフォルトの名無しさん
NGNGa.comboBox とかそんな感じで。
0118デフォルトの名無しさん
NGNG0119デフォルトの名無しさん
NGNG他のクラスはFormを知る必要が無くなる。
0120 ◆Niwa2ChL9M
NGNGC#(aspx)でWebファイルを作っているのですが、
DOSのhoge.batにキックしてさせたら、そのまま放置されてしまいます。
終了コード・戻り値等を使って、再度aspxに戻して処理させることは可能でしょうか。
言語にあまり携わっていないため、Web等でC言語の特性などを調べてみましたが、
Main()を使うのでは無いかというのは何となくわかってますが、使い方がよくわかっていません。
教えて頂けますでしょうか。
0121デフォルトの名無しさん
NGNGDOSスレに行った方が良いかもしれない。
0122デフォルトの名無しさん
NGNG0123デフォルトの名無しさん
NGNGttp://www.cisnet.or.jp/home/tsuneoka/win32sub2/9.html
0124デフォルトの名無しさん
NGNGttp://www.hitachi-to.co.jp/prod/prod_2/inter/emk/help/TecInfo/hint/GetMediaTypeFromReg.htm
0125デフォルトの名無しさん
NGNGttp://backno.mag2.com/reader/BackBody?id=200407140600000000104516000
ttp://www.microsoft.com/japan/msdn/library/ja/jpshell/html/_win32_findexecutable.asp
0126デフォルトの名無しさん
NGNG>>125
サンクス!
0127デフォルトの名無しさん
NGNG参考になるサイトってないですか?
0128デフォルトの名無しさん
NGNG聞いちゃったら練習にならんだろう
0129デフォルトの名無しさん
NGNG"the game of wahoo!"
0130デフォルトの名無しさん
NGNGフォームのピクチャボックスのPaintイベントでそのビットマップを表示する、という処理を行っています。
しかし、「そのオブジェクトは使われています」というエラーが起こることがあります。
おそらく、ビットマップの読み込み中に、スレッド側がビットマップに対し書き込みを行っているからではないかと思っています。
そこでビットマップが読み込まれている時には書き込みを止めるようにしたいのですが、よい知恵はないでしょうか?
MutexやMonitorを使ってみようと思うのですが、
スレッドが描画を行う際には
Graphics g = Graphics.FromImage(bitmap);
とグラフィックオブジェクトを取得しているのですが
その後はその取得したグラフィックオブジェクトを使って描画してます。
なので、グラフィックオブジェクトを取得しようとビットマップにアクセスしたときに同期を取ることは出来るのですが、
その後の描画の時に、ピクチャボックスがビットマップを読み込んでいるかどうかわかりません。
0131デフォルトの名無しさん
NGNGBeginInvoke
0132デフォルトの名無しさん
NGNGATLをVSで開いて、実行ファイルでC#のEXEを指定し、
デバッグを始めたのですが、ブレイクがかかりません。
なぜなのでしょうか?
当該ATLが実際に動いていることは確認しています。
あと、両方ともDEBUGビルドしています。
お願いします。
0133デフォルトの名無しさん
NGNG0134132
NGNGどうも、ATLで作成したDLLじゃなくて、
interop.xxx.dllと言うのが作られてこっちが呼ばれてるみたいです。
もう少し調べてみます。
0135デフォルトの名無しさん
NGNGRCWとCCW
0136デフォルトの名無しさん
NGNGint型かIntPtr型にするにはどうすればよろしいですか?
0137デフォルトの名無しさん
NGNGMarshal.StringToCoTaskMemAutoなど。
0138デフォルトの名無しさん
NGNGVS.Net のプロジェクトの定義のデバッグのとこかどっかで、
「ネイティブデバッグを行う」みたいなのがあるから、チェック入れといて。
0139デフォルトの名無しさん
NGNGワーカスレッドの方で invoke 使って、メイン(UI)スレッド側で pixtureBox の
プロパティにセットする関数を実行させるか、bitmap を共有したいなら同期
オブジェクトを使って、
Monitor.Enter(bitmap)
ワーカスレッド側なら bitmap に対する画処理/
UIスレッド側なら Paint イベントの処理
Monitor.Leave(bitmap)
等するか。
0140デフォルトの名無しさん
NGNGクリティカルセクションでも使ってやればシンプルでいいんでないの?
0142デフォルトの名無しさん
NGNGGCについて理解してこい、と。
いやそれ以前の問題か?
GCは独自にメモリを管理する。
不要になったメモリは破棄し、アクセスしやすいように並べ替える。
つまりメモリアドレスを取得してもその直後にその数値が意味をなさなくなる可能性もあるってことだ。
もちろんManagedの範囲内ではそれは全く問題ないようにデザインされてる。
で、何がしたいの?
0143デフォルトの名無しさん
NGNGUnsafeでも使えば?
0144136
NGNG親切にしてよ。
具体的にはこんなこと
[StructLayout(LayoutKind.Sequential)]
public struct BROWSEINFO
{
略
[MarshalAs(UnmanagedType.LPTStr)]
public string lParam;
//public int lParam;
略
}
BROWSEINFO bi = new BROWSEINFO();
bi.lParam = sbFolder.ToString();
本当は
sbFolderのint型のアドレスにしたいのだが。
コールバックの
BffCallbackProc(IntPtr hwnd, uint uMsg, int lParam, int lpData)
int lpData には正しいアドレスが入るわけだが、カッコ悪い。
0145デフォルトの名無しさん
NGNGbyte [] 経由で標準のマーシャラーに任せればいいんじゃない?
0146デフォルトの名無しさん
NGNG0147141=136
NGNG具体的にはどうするの?
FolderBrowserDialogではなく、SHBrowseForFolderを使って、
最初に初期フォルダを指定して(lParam)そのフォルダを選択させたい。
IMallocインタフェースとBFFCALLBACKコールバックはなんとかなって、
動作していますが、文字列のアドレスがC#ではすっきりしないので
質問したわけです。
0148デフォルトの名無しさん
NGNGコールバックメソッドのdataもstringとして宣言してやれば文字列のやりとりは解決。
0149デフォルトの名無しさん
NGNG141見たんで、byte [] のポインタを fixed で取って使えばいいじゃん、
と思ったんだけど、StringBuilder を渡すのが目的ってことですか。
単純に
[MarshalAs(UnmanagedType.LPTStr) ] lParam;
じゃなくて
[MarshalAs(UnmanagedType.AsAny) ] object lParam;
にすればいいんじゃない?
コールバックの方も同様に宣言しとけば、object で取れるから、
StringBuilder 渡したなら as StringBuilder するなりできるし。
0150141=136
NGNGWin32APIの定義にこだわるなら 137さんのようにするか、
149さんが言われるようにlParamを動的な型にすれば、
しっくりします。納得しました。
レス下さった方、ありがとう。
0152デフォルトの名無しさん
NGNGprivate void pictureBox1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
g.Dispose();
}
とやるとエラーが出てしまいます。
これがFormのPaintイベントならDispose()を実行してもエラーは出ません。
PaintEventArgsには一体何が格納されているのでしょうか?
0154デフォルトの名無しさん
NGNG一般論だけど、自分で作ったものじゃないものを勝手に Dispose しちゃダメ。
キミが作った Graphics を、誰かのコードに「ここに描いてね」ってことで渡したら、
勝手に Dispose されたりしたら嫌でしょ。
0155デフォルトの名無しさん
NGNG0156デフォルトの名無しさん
NGNGアメリカならドキュメントに消しちゃ駄目と書いてなかったといってMSを訴えられるかもしれないがここは日本です.
0157デフォルトの名無しさん
NGNGSetRegion
0158デフォルトの名無しさん
NGNGちなみにHSPではフォントの大きさをドット数に比例した論理サイズで指定してあります。
0159デフォルトの名無しさん
NGNG他人の漢字で関数を書くという奴を見て激しく憤慨していたのですが、
こんどは自分が、最近数学的なライブラリーを作っていて激しくギリシャ文字を使いたい衝動に駆られます
使ってもいいですか(汗
世界中がマルチバイト対応の時代がこないかな……
そんなことを思った人挙手(^^)/
0160デフォルトの名無しさん
NGNG他人を激しく憤慨させるつもりがあるなら書けば?
0161デフォルトの名無しさん
NGNG0162デフォルトの名無しさん
NGNG通常の関数であれば問題なく呼べているのですが,コールバックを受け取る方法
がわかりません.
コールバックはどのように受けとればよいんでしょうか?
0163デフォルトの名無しさん
NGNGGraphics.FillRectangleで代用?
>>162
そのコールバック関数と返値・仮引数を同じにしたデリゲート。
0164デフォルトの名無しさん
NGNG今はDrawRectangleでwidthとheightを1にして代用していますが、
かなり大量に描画する予定なので出来ればもっと簡単に処理出来るものはないかと思ったのですが・・・
0165最凶VB厨房
NGNG0166デフォルトの名無しさん
NGNGWin32APIのSetPixel関数かな。
どのみちあんまり「簡単に」とは行かないような気がするけど。
Bitmapオブジェクトが取得できるならBitmap.SetPixelがベストだけれど。
0167デフォルトの名無しさん
NGNGprivate void timer1_Tick(object sender, System.EventArgs e)
{
string s = text1.text; // <- constにしたい。
// これ以降sを変更したくない。
おねがいします。
0168デフォルトの名無しさん
NGNGPathAddBackslash()
PathRemoveBackslash()
に相当するものはありますか?
0169デフォルトの名無しさん
NGNGたぶん無いと思うけど、それくらいすぐ実装できそうだな。
0171デフォルトの名無しさん
NGNGreadonlyじゃね?
…と思ったらローカル変数に使えなかったスマン。
0172デフォルトの名無しさん
NGNGprivate void timer1_Tick(object sender, System.EventArgs e)
{
string s = text1.text; // <- constにしたい。
// これ以降sを変更したくない。
if(s != text1.text){
MessageBox.Show("変更するなつってんだろゴルァ!!!!!!!!");
}
}
0173デフォルトの名無しさん
NGNGtext1.textを変更しただけなのに文句言うなよ。
0174デフォルトの名無しさん
NGNGprivate void button1_Click(object sender, System.EventArgs e)
{
Monitor.Enter(bitmap);
//テキトーなビットマップをロック
textBox1.Text = "適当に";
}
のイベントを起こした後、
Monitor.Exitを実行していないのに
private button2_Click(object sender, System.EventArgs e)
{
Monitor.Enter(bitmap);
//同じビットマップでロックを取得
textBox1.Text = "これは表示されないはずなのに";
}
↑これが実行されてしまいます。
スレッドとイベントなら同期が取れるのですが・・・。
0175デフォルトの名無しさん
NGNG同一スレッドでEnterしてるからじゃない?
0176デフォルトの名無しさん
NGNGありがとうございます。
MSDN読んでもピンとこなかったで助かりました。
0177デフォルトの名無しさん
NGNGMonitor も良いけど、
っていうか過去に Monitor つかえみたいなこと書いた気がするけど、C# なら
Monitor.Enter(obj)
try { ... }
finally { Monitor.Exit(obj); }
の簡易文法であるところの
lock(obj) { ... } も便利ですよ。
0178デフォルトの名無しさん
NGNGブロックにできるのであれば普通lock使うけどね。
しかし一番の問題は、>>174がMonitorの用途を誤解しているようだと言う事…
まあ理解したんならいいんだけどね。
0179デフォルトの名無しさん
NGNGこの流れで質問だけど、単純に『パス』って言った場合、最後に \ は付くの付かないの?
0180デフォルトの名無しさん
NGNG何かよい方法はないでしょうか
FontDialog
Show何タラプロパティ
Allow何タラプロパティ
すべて試してみたのですがだめでした。
0181デフォルトの名無しさん
NGNG質問の意味はよくわからんが、とりあえずPathクラスの各メソッドが返す文字列にバックスラッシュはつかんな。
0182デフォルトの名無しさん
NGNGGDIとGDI+では表示が異なるので仕様
0183デフォルトの名無しさん
NGNGtry{}
catch{}
finally{}
}
とリリースモードで実行するとfinally節が実行されません。
しかし
int i= 0;
while(i < 1)
とやると(iの値は変化しないので事実上無限ループ)
リリースモードでも問題なくfinally節が実行されます。
なぜwhile(true)だとfinallyが実行されないんでしょうか?
0184デフォルトの名無しさん
NGNGoptimizer が『while の中には実行しなければならないものは無い』と判断して
丸ごと消してしまったのでは?
0185デフォルトの名無しさん
NGNGfinally節が実行されないことをどうやって確かめたの?
0186デフォルトの名無しさん
NGNGそれはVisualStudioの設定なんでしょうか?
>>185
実際にはfinally節にMessageBoxを仕掛けて確かめました。
SharpDevelopだと同様のことをやってもちゃんとfinallyが実行されるので
やはりVisualStudioのリリースモードが何かをやってれるのだと思うのですが
0187デフォルトの名無しさん
NGNGMessageBox 仕掛けてるのに無視ってのは optimize されたにしてもマズいよなぁ。
# もしかして optimizer の bug ?
0188デフォルトの名無しさん
NGNGVC++6.0のときだけれど、同じようなのありますよ.
アセンブラで見てもコードがない.
デバッグだとある。最適化全部消して解決しました.
Optimiseなんて信用してません.
0189デフォルトの名無しさん
NGNGどうでもいい。
0190デフォルトの名無しさん
NGNGやっぱり仕様なんですかね・・・
割り切ることにします。
情報ありがとうございました。
0191デフォルトの名無しさん
NGNG具体的にどんなコードなの?
ILDASMで見てもやっぱりfinally句はなくなってる?
0192デフォルトの名無しさん
NGNGコンパイルってどっちも結局CSCでやってんでしょ?
0193デフォルトの名無しさん
NGNG何に活用するものなのでしょうか?
0194デフォルトの名無しさん
NGNGObject.GetHashCodeのヘルプをみれ。
0195デフォルトの名無しさん
NGNGくっついてるコンパイルオプションの問題じゃね?
0196デフォルトの名無しさん
NGNG一つしかないような気がするしね…
例えばSharpDevelopがリリースビルドでも最適化を有効にしてないとかなら
分かるけど、そんなことはないような気がするし…
0197デフォルトの名無しさん
NGNG0198デフォルトの名無しさん
NGNG基本的にない。
0199デフォルトの名無しさん
NGNG自己解凍実行形式の圧縮ファイルを作れば
0200デフォルトの名無しさん
NGNG0201デフォルトの名無しさん
NGNG0202デフォルトの名無しさん
NGNG他のプログラムからは参照させないようにしたいんだけど、できますか??
0203デフォルトの名無しさん
NGNGできるかしらんが駄目?
0204デフォルトの名無しさん
NGNGまあ分割だろうが圧縮だろうが暗号化だろうが技術的には可能だけど、
C#でやることじゃあない気がするな。
0205デフォルトの名無しさん
NGNG全く同じ関数名の関数を持つ,2つのクラスがあります.
これらを利用するコードはある条件をみて,
その2つのクラスのどちらの関数を利用できるかを判断したいと思っています.
例えば ClassTestNo1, ClassTestNo2 とあり,
それらの中でそれぞれ MethodTest という関数が定義されている時に,
それを呼び出すコード は
ClassTest.MethodTest();
のように呼び出したいのです.で,なんらかの条件による判断で,
ClassTest が ClassTestNo1 なのか ClassTestNo2 なのかは
動的に決定したい,という事が行ないたいです.ただし,
ClassTestNo1, ClassTestNo2 は Static で定義されているので,
利用する前に条件を見て,new すればいい,という事はできません.
なにかアドバイスを頂けないでしょうか?
0206デフォルトの名無しさん
NGNG設計をやり直す。
てのはともかくとして、動的に判断する以上利用者側が判断用のboolをもってるんだろう?
ClassTest.MethodTest(bool)
にすればいいんでないの?
0207デフォルトの名無しさん
NGNG僕も最近それに近い事をしているので、どぞ
こんな雰囲気のコードでいけると思います。
object hoge = new ... ;
if( hoge.GetType().GetMethod( "MethodTest" ) == null )
{
ClassTestNo1();
}
else
{
ClassTestNo2();
}
とか、こんな感じ
GetMethod の戻り値オブジェクトにイカしたメソッドがいっぱいあります。
0208デフォルトの名無しさん
NGNGん、205の用件とちょっとズレてる気がする
これは MethodTsetがあるかどうかで、呼び出す関数を決めてますが、
適当に変えてください、肝はGetMethod()なので、これでも十分と思ので。
0209デフォルトの名無しさん
NGNGうーん、うーむむGetMethodが肝なのか…?
0210デフォルトの名無しさん
NGNGこれでOK?
if (ClassTest is ClassTestNo1)
{
}
マーカーインターフェースを利用する際によくやる手だけれども。
0211デフォルトの名無しさん
NGNGClassTestからアクセスできる形で条件に合わせてデリゲートでも作っとくか、
呼び出された時点で条件判断して呼び出すメソッド変えたらいいんじゃないの?
2種類しかないなら、まあ後者のやり方でもいいかな。
デリゲート使う方が柔軟ではあるけど。
0212デフォルトの名無しさん
NGNGinterface IClassTest { void MethodTest(); }
class ClassTestNo1 : IClassTest { 略 }
class ClassTestNo2 : IClassTest { 略 }
class ClassTest{
public static IClassTest classTest;
public static void MethodTest(){
classTest.MethodTest();
}
}
//呼び出し側
ClassTest.classTest = new ClassTestNo1();
ClassTest.MethodTest();
ClassTest.classTest = new ClassTestNo2();
ClassTest.MethodTest();
0213デフォルトの名無しさん
NGNGchar c;
if ( (c <= 'a' & c >= 'z') == (c <= 'A' && c >= 'Z') )
{
処理;
}
みたいな感じで切り分けられましたが、C#の場合はどうすればいいんでしょうか?
正規表現を使うしかないんでしょうか。。
0214デフォルトの名無しさん
NGNGcharにキャストしてやるとか。
0216デフォルトの名無しさん
NGNGお前はヘルプというものを読んだことがあるか?
char.IsLetter(c);
0217デフォルトの名無しさん
NGNGてかcharにキャストって出来ないと思うが…
charでは取得できてるんじゃないの?
その場合は、char.IsLetterとかでできんかいな?
あとどうでもいいが、>>213の条件はいったいなんだ?
ちなみにCでも普通は文字コードを直接条件に書くようなことはしない。
0218デフォルトの名無しさん
NGNG.NETはUnicodeだということを忘れずに。
Char.IsLetterは、例えばギリシャ文字のアルファベットもtrueを返す。
0219デフォルトの名無しさん
NGNG書いてるうちに進んでた…
0220デフォルトの名無しさん
NGNG> if ( (c <= 'a' & c >= 'z') == (c <= 'A' && c >= 'Z') )
これどういう意味よ?
0221デフォルトの名無しさん
NGNG0222デフォルトの名無しさん
NGNGごめん、確かに
俺一生懸命この条件の真の意図を考えてたよ
0223デフォルトの名無しさん
NGNG0224デフォルトの名無しさん
NGNGカレントディレクトリ、EXEのあるフォルダ
どっち?
それともアプリケーションベース?
0225デフォルトの名無しさん
NGNGです。
0226デフォルトの名無しさん
NGNGおれも、実はすっごいひねくれてる条件で、
正しく動くのかと検証しかけたんだが…
> (c <= 'a' & c >= 'z')
&は誤植としてもこの時点でありえね〜って結論になった…
0227デフォルトの名無しさん
NGNG0228デフォルトの名無しさん
NGNG加工せんでも直接取れるプロパティもあったかも、ちょっと失念。
0229デフォルトの名無しさん
NGNG0230デフォルトの名無しさん
NGNG有難うございます。
0231過去の自分
NGNG.NET Frameworkがインストールできなくなったら
MSサポート技術情報英語版824643
http://support.microsoft.com/default.aspx?scid=kb;EN-US;824643
0232デフォルトの名無しさん
NGNGそれがどのようなプログラミングで再現されているのか知りたいのですが方法はありますか?
たとえばJavaでいえば
jPanel1.addComponent(jTextField1);
jTextField1.setText("abcdef");
こんな感じの奴です。
おそらくInitializeComponent();あたりが怪しいと思うのですが・・・
0233デフォルトの名無しさん
NGNGInitializeComponent() のなかにある。
何が分からない?
0234デフォルトの名無しさん
NGNG.NET2003のソースエディタでは非表示になっていたから分かりませんでした。
今、別のテキストエディタで見たらちゃんと記載されてました。
0235デフォルトの名無しさん
NGNG0236デフォルトの名無しさん
NGNG0237デフォルトの名無しさん
NGNG自己紹介板のリンク張った方が良いですか?
0238デフォルトの名無しさん
NGNG天然丸出しの文章だね、プッ
0239デフォルトの名無しさん
NGNGWhidbeyは2005年半ばになるらしいけれど、それまでは待ちたくない...
どこかのサイトで.NET1.1でもC#用としてだけならGenerics使えるコンパイラがあるとかいてあったようなきもしましたが.
0240デフォルトの名無しさん
NGNGTextBox.AppendText( text + "\n") で良いんだよな?
何で表示されないんだろ?
0241デフォルトの名無しさん
NGNG\r\nにしたらどうなる?
0242240
NGNGLine にはちゃんと別の行として反映されてる
けど表示がサパーリ
追加しても何も表示されないか、同じ行に書かれる
TextBox って、BeginUpdate みたいな機能ないよなぁ
なんでだろ
0243デフォルトの名無しさん
NGNG0245デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNGMultiLine は true
false でも変わらなかったが
0247デフォルトの名無しさん
NGNG0248デフォルトの名無しさん
NGNGでできたんだけど
0249デフォルトの名無しさん
NGNG0250デフォルトの名無しさん
NGNG0251240
NGNGなんだったんだ一体?
0252デフォルトの名無しさん
NGNGバグの犠牲者
0253デフォルトの名無しさん
NGNG0254デフォルトの名無しさん
NGNGそれエディットこんティニューのバグでないの?
>253の言われるとおり困ったらリビルド
0255240
NGNG0256デフォルトの名無しさん
NGNG0257デフォルトの名無しさん
NGNG0258デフォルトの名無しさん
NGNG使った方が確実(たぶん)
0259デフォルトの名無しさん
NGNGドキュメントには Environment.NewLineは "\r\n" で、Console.WriteLine等の WriteLine
メソッドで自動的に付加されるものであって、プラットフォーム毎のカスタマイズ対象だ、
としかかかれていなくて、Form (コントロール)類との関係が一切不明だものね。
0260デフォルトの名無しさん
NGNG同じと考えてよいのか(現状の環境ではそうだが)、独立した物ではないのかと。
0261240
NGNGという事は今はたまたまできているだけで、いずれまた同じ結果になるということか
この現象はコンポーネントを lock すれば回避できるんだっけか?
よーわからん
しかも別の部分で TreeView.BeginUpdate している箇所も、
同じ原因で弾かれたし OTL
0262デフォルトの名無しさん
NGNGそういう場合はInvoke経由でコントロールを操作する。
0264デフォルトの名無しさん
NGNG複数行テキスト ボックスのテキストの読み取り、または設定には、 Lines プロパティを使用します。
と書いてある…。
Linesプロパティには
テキスト ボックス コントロールの Multiline プロパティが true に設定されているときに、
テキストに改行文字が表示されると、改行文字の後ろに続くテキストが配列内の新しい要素に追加されて、別の行に表示されます。
と書いてある。
改行文字の定義は\n単独が不可ってことは、Environment.NewLineしか思いつかない。
0265デフォルトの名無しさん
NGNGControlChars.NewLine
0266デフォルトの名無しさん
NGNG0267デフォルトの名無しさん
NGNGつまり過去のVBとの移植性のために存在してるものだから不適当だと思うが。
名前の意味も“エスケープキャラクタ”ってほどのものだろし。
0268デフォルトの名無しさん
NGNGるのですが、もっと簡単に記述する方法はありますでしょうか。
最近C#を始めたのでまだ書き方よくわかりませんです。
System.Drawing.Imaging.ColorMap[] cms =new System.Drawing.Imaging.ColorMap[]
{
new System.Drawing.Imaging.ColorMap(),
new System.Drawing.Imaging.ColorMap(),
・・・・・
0269デフォルトの名無しさん
NGNG//コードの最初
using System.Drawing.Imaging;
//定義部
ColorMap[] cms = new ColorMap[30];
for (int i = 0; i < cms.Length; i++)
cms[i] = new ColorMap();
//ふらっとスレの方がいいかもな。
0271デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1065196964/l50
0272デフォルトの名無しさん
NGNG新しく生成したBitmapはデフォルトで透明色になっています。
GetPixelでColorを取ると、A=0,R=0,G=0,B=0となってました。
しかし、new SolidBrush(Color.FromARGB(0, 0, 0, 0))で塗りつぶしても透明になってくれません。
何か考え違いをしているのでしょうか?
0273デフォルトの名無しさん
NGNGで、どこで透過色を使うの?
Color.A=0なブラシで塗りつぶしても意味無いのは確かだけどな。
//完全に透明な色を上から塗ってなんになる?
0274デフォルトの名無しさん
NGNG言われてみればそうですね・・・。
やりたかったことは、Bitmapをまっさらな状態に戻したかったんです。
今は
黒で塗りつぶし→MakeTransParent(Color.Black)とやっているのですが、
もっとスマートに出来ないものかと思いまして・・・
0275デフォルトの名無しさん
NGNGGraphics.Clear(Color)
0276デフォルトの名無しさん
NGNGまたある色だけが透明なウィンドウにするのは可能なのでしょうか?
0277デフォルトの名無しさん
NGNG別物です。
可能です。
0278デフォルトの名無しさん
NGNG一部だけ透明にしたい、などの場合には
Graphics.CompositingMode = CompositingMode.SourceCopy;
した後、透明色で塗ればOK。
0279デフォルトの名無しさん
NGNGその領域に対してintやfloatのデータを書きこみたいのですが、
どうすればよいのでしょう?
また、そのデータセグメントから、もとのint値やfloat値を取り出し
たいのですが、どうすればよいのでしょうか?
0280デフォルトの名無しさん
NGNG0281デフォルトの名無しさん
NGNG0282デフォルトの名無しさん
NGNGLayoutKind.Explicitの構造体を作ってFieldOffsetの指定をする。
0283デフォルトの名無しさん
NGNGこんな感じか。インデントは適当。
struct abc
{
public floatf;
public inti;
}
public unsafe static void test()
{
byte [] buffer = new byte[ sizeof(abc) ];
for (int i = 0; i < sizeof(abc) ; i++)
buffer[i] = 0;
fixed (byte* pBuffer = buffer)
{
abc* pa = (abc*) pBuffer;
pa->f = 1.0f;
pa->i = -1;
}
}
0284デフォルトの名無しさん
NGNG0285デフォルトの名無しさん
NGNG0286デフォルトの名無しさん
NGNGprivate void pictureBox1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
Graphics g = e.Graphics;
//描画処理
g.Dispose();
}
とやるとエラーが出て落ちてしまいます。
GraphicsオブジェクトはDisposeしてはいけないのですか?
0287デフォルトの名無しさん
NGNG自分で作成したもの以外は Dispose しちゃ駄目
0288デフォルトの名無しさん
NGNGMSDNのサンプルでは、FormのPaintイベントでDisposeしてましたが、
FormのPaintイベントだとDisposeしてもいいみたいですね・・・
0289デフォルトの名無しさん
NGNG0290デフォルトの名無しさん
NGNG過去ログ全然読んでませんでした。
スミマセンでした。
0291デフォルトの名無しさん
NGNGアクセスすることはできません。これにより、アプリケーションの信頼性が向上します。
また、C# ではメンバの絞り込みに使う C++ の演算子「::」、「.」、「->」などの区別が
ありません。すべてドット( . )で表現します。
さらに、C++ は C 言語の拡張であったため、C 言語流に記述してオブジェクト指向
らしからぬプログラムを書くことができましたが、C# では必ずクラスを使うことが強制
されます。そして、C# ではオブジェクトに属さないグローバル関数だけのプログラム
やグローバル変数の宣言が、構文上できなくなっています。
0292デフォルトの名無しさん
NGNG0293デフォルトの名無しさん
NGNGよくそういうことが大変重要な事のようにかかれるのを見かけるが、
結局のところ、オブジェクト指向らしい?プログラムを書くことを
強制すると言う意味では実質あまり意味はない。
0294デフォルトの名無しさん
NGNGSystem.Windows.Forms.SystemInformation.MenuHeight
0295デフォルトの名無しさん
NGNG作ろうとおもたんですが微妙に難しいですね。
MDIで何とかできると思うんですが、メニューを
親ウィンドウに統合しないようにするのはできますか?
0296デフォルトの名無しさん
NGNG0297デフォルトの名無しさん
NGNG全部描画ということはやはりCDI+の知識が必要になってくるわけですよね?
この際GDI+習得しちゃおうと思うんですが、入門的なことを書いてるサイトとかありますか?
コンポーネントとかは1から作ったことがないんで・・・
029870
NGNGサイトはわからんです.
029970
NGNG0300デフォルトの名無しさん
NGNG異形のものにならんよう気をつけなとね。
いわゆる、"Windows標準"に
みんなが慣れてしまっているのは仕方ないことだから。
0301デフォルトの名無しさん
NGNGToolBarを使ってメニューっぽく見せるとかは?
0302デフォルトの名無しさん
NGNG初心者も見てるスレだから、妙な釣りはやめて欲しい・・・
0303デフォルトの名無しさん
NGNGttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpdnbcsharp/htm/csharp1-1.asp
One Pointのfor C++を読め。検索しらた一発で引っかかったぞ。
0304デフォルトの名無しさん
NGNG0305デフォルトの名無しさん
NGNG0306デフォルトの名無しさん
NGNGttp://www.geocities.jp/osoftjp/
0307デフォルトの名無しさん
NGNGILDASMとかで開けばどんな処理をしているかは見られる。
0308デフォルトの名無しさん
NGNGだって実際 >>283 でできてるじゃない。いくら MS のサイトに書かれているからって、
明らかに事実じゃないことをいきなり書くのはやはり混乱の元だと思う。
0309デフォルトの名無しさん
NGNGManaged DirectX 9 - Graphics and Game Programming - Kick Startより抜粋。P145。
やっぱアンセーフコードなんで、オススメはしない。
ポインタを使う前後に、ロック、アンロックしてるね。
private unsafe void FillTextureUnsafe(Texture t, bool random)
{
SurfaceDescription s = t.GetLevelDescription(0);
Random r = new Random();
uint *pData = (uint *)t.LockRectangle(0, LockFlags.None).InternalData.ToPointer();
for (int i = 0; i < s.Width; i++)
{
for (int j = 0; j < s.Height; j++)
{
if (random)
{
*pData = (uint)Color.FromArgb(r.Next(byte.MaxValue), r.Next(byte.MaxValue), r.Next(byte.MaxValue)).ToArgb();
}
else
{
*pData = texColor++;
if (texColor >= 0x00ffffff) texColor = 0;
}
pData++;
}
}
t.UnlockRectangle(0);
}
0310デフォルトの名無しさん
NGNG過去ログを全て読んだのですが、
自分で作ったGraphicsオブジェクト以外は解放しちゃいけない、というのはわかったのですが、
何故なんでしょうか?
PaintEventArgsにはClipRectangleとGraphicsぐらいしか入ってないのに・・・
Disposeされたときに呼ばれる
System.Drawing.Graphics.EndContainer(GraphicsContainer container)
が怪しいと思うのですが。
どなたかご意見、情報お持ちの方レスお願いします。
0311デフォルトの名無しさん
NGNG例えばあなたが書いたイベントは次のように呼ばれているかも知れないだろ?
Graphics g = CreateGraphics();
PaintEventArgs arg = new PaintEventArgs(g, this.Bounds);
IntPtr dc = g.GetHdc();
...
if (this.Paint != null) //Paintイベントに何か入ってるか
Paint(this, arg);
g.ReleaseHdc(dc); //イベント先で実行されたメソッドでGraphicsがDispose()されてたらエラー
g.Dispose();
0312デフォルトの名無しさん
NGNG現在の実装ではControl.WmPaint()の中で
PaintEventArgsインスタンスを作成して、
その後、OnPaintメソッドに渡してPaintイベント発生という
流れになっているわけだけれど、
Paintイベントから返ってきた後で
PaintEventArgs.Dispose()が呼び出されてる。
よってDispose()を二回呼び出していることになるわけで
それがおそらくエラーの原因。
0313デフォルトの名無しさん
NGNG>>312
お二方ともわかりやすい説明ありがとうございました。
今日一日悩みぬいたことが解決しました。
0314デフォルトの名無しさん
NGNG初心者相手にunsafeを教える方がどうかしてる。
0315295
NGNGhttp://ja.gotdotnet.com/quickstart/winforms/doc/WinFormsCreatingControls.aspx
を見ながらやろうと思ったんですが・・・
始めに何をすればいいのかさっぱりで・・・
0316デフォルトの名無しさん
NGNG0317デフォルトの名無しさん
NGNG初心者も見ているからやめろと>>302が言っている。
それに対する反論だから初心者が前提に決まってる。
0318デフォルトの名無しさん
NGNGどこまで分からないかわから内がしたのほんをおすすめ。
全部読め
http://www.microsoft.com/japan/msdn/net/books/ProgWinCsharp/default.asp
0319デフォルトの名無しさん
NGNGありがとうございます。
がんばってみます。
0320318
NGNG自分は仕組みが全部分からないと駄目なので読んでました.
でも一度それやるとWindowsに何されてるかわから内というのがなくなるのでお勧めです.
0321デフォルトの名無しさん
NGNGその本ずっと気になってるんだけど流石に上下巻そろえる金はないし・・・で。
ウィンドウプロシージャとかメッセージループとかは解説されてるんでしょうか?
0322デフォルトの名無しさん
NGNGIDisposable.Disposeは複数回呼び出しても良いことが保障されている。
0323デフォルトの名無しさん
NGNGああ、そういえば。
0324313
NGNGということはまたふりだしですか?_| ̄|○
0325デフォルトの名無しさん
NGNGそれって、自分のクラスにDisposeを実装するときは、
一回しか呼ばれないことを仮定してはいけないってことですか・・・?
0326デフォルトの名無しさん
NGNG>>311
0327デフォルトの名無しさん
NGNGどのようにやればよいですか?
0328デフォルトの名無しさん
NGNGあるならEmptyフィールドとか使う。
0329デフォルトの名無しさん
NGNGタイトルバーとかサイズ変更の箇所をクリックしないと
背面のフォームがアクティブ(最前面)にならないのですが
これはそういう仕様でしょうか?
作り方が間違っているでしょうか?
背面フォームのどこを触ってもアクティブになって欲しいんですが・・・。
0330デフォルトの名無しさん
NGNGフレームワーク側は単に Dispose するんじゃなくて、なにかしてるんでしょ。>>311を良く見るように。
GetDC / ReleaseHdc じゃなくて、BeginPaint / ReleaseHdc + EndPaint だろうけど。
0331デフォルトの名無しさん
NGNGところどころでPaintイベントから返ってきたあとでPaintEventArgsのメソッドを呼び出してたり、
一つのPaintEventArgsを複数回のPaintイベントに渡してる箇所があるな。
0332デフォルトの名無しさん
NGNG0333デフォルトの名無しさん
NGNG0334デフォルトの名無しさん
NGNG0335デフォルトの名無しさん
NGNG0336デフォルトの名無しさん
NGNG普段技術的な話にはまったく参加できてない奴なんだろうな。
0337デフォルトの名無しさん
NGNG0338デフォルトの名無しさん
NGNG誰かから参照されているいないとDisposeは無関係。
よって>>335は誰からも参照されていない。
0339デフォルトの名無しさん
NGNG随分遅れた夏が来た?
0340デフォルトの名無しさん
NGNG0341デフォルトの名無しさん
NGNG.NET Frameworkで実際どのような処理が行われているか、
ソースを見たりする方法はないんでしょうか?
0342デフォルトの名無しさん
NGNG0343デフォルトの名無しさん
NGNGどうやればいいしょうか??
0344デフォルトの名無しさん
NGNG0345デフォルトの名無しさん
NGNG> 多倍長クラスとか標準でついてたっけ?C#
多倍長関連は.NET Frameworkクラスライブラリの中にはないね。
ttp://www.gdncom.jp/student/bbs/ShowPost.aspx?PostID=1968
//「とか」って何さ。
0346デフォルトの名無しさん
NGNG> //「とか」って何さ。
彼女とかいるの?の「とか」だろ
0347デフォルトの名無しさん
NGNG行末の</Summary>に反応してしまうんですが・・・・
0348デフォルトの名無しさん
NGNG0349デフォルトの名無しさん
NGNG0350デフォルトの名無しさん
NGNG0351デフォルトの名無しさん
NGNGMSDN
0352デフォルトの名無しさん
NGNG>PaintEventArgsにGraphicsとかClipRectangleとかをつめつめしてるのはControl.WndProcなんでしょうか?
Control.WmPaint()
0353デフォルトの名無しさん
NGNG自分で書いてない処理も出力されたっけ?
0354デフォルトの名無しさん
NGNGだったらMSが書いたアセンブリをILDASMにかけるといいよ。
0355デフォルトの名無しさん
NGNG自分が書いた処理と「他の誰か」が書いた処理を
どうやって判断すると思うんだ?
0356デフォルトの名無しさん
NGNG0357デフォルトの名無しさん
NGNG0358デフォルトの名無しさん
NGNG0359デフォルトの名無しさん
NGNG皮肉言われてることに気付け。
0360デフォルトの名無しさん
NGNGC# && .NET FrameworkでRS232Cの通信をしたいのです。
mscomm32.ocxは、VisualStudioに取り込めるのですか?
ちょっとググったらStreamから継承して自分で作れ、
みたいなのもあったんですけど、具体的なコードがなかったので、想像もつきません。
0361デフォルトの名無しさん
NGNG> mscomm32.ocxは、VisualStudioに取り込めるのですか?
自分で試してみれ。
Win32APIの例
ttp://support.microsoft.com/default.aspx?scid=kb;ja;823179
0362デフォルトの名無しさん
NGNGttp://www.google.com/search?num=100&hl=ja&lr=lang_ja&oe=utf8&q=C%23+%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB%E3%83%9D%E3%83%BC%E3%83%88
4つめあたりの.NETで〜
0363デフォルトの名無しさん
NGNG{
Graphics g = pictureBox1.CreateGraphics();
//なんか描画する
g.Dispose();
}
とやるとフォームが読み込まれた最初はピクチャボックス内の描画が表示されません。
しかし、ウィンドウを重ねるなどして再描画させるとちゃんと表示されます。
が、たまに再描画してくれない時もあります。
海外のサイトに同じようなことを取り扱ったところがあり、
そこではピクチャボックスの代わりにパネルを使え、とあったのですが、
何故ピクチャボックスはこのようなことになるのでしょうか?
//素直にPaintEventArgsのGraphicsオブジェクトを使えばいいとはわかっているのですが
0364デフォルトの名無しさん
NGNGButtonクラスにはDrawItemのイベントはないのでしょうか?
0365デフォルトの名無しさん
NGNGButtonにItemなんてあんのかよ?
0366デフォルトの名無しさん
NGNG0367デフォルトの名無しさん
NGNG漏れの直感では、PictureBox の Paint イベントはライブラリ側でダブルバッファリング
しているような・・・
WndProc をオーバーライドして、
WM_PAINT 時に Win32 API の BeginPaint / EndPaint した後に
そういうコードを書けば良いような気がする。
もっとよいのは、Paint イベントを自前で処理するなら PictureBox なんか使わないこと
だと思う。
0368デフォルトの名無しさん
NGNGTEMPディレクトに移動しようとしてcd \TEMPと入力しても
何故か指定されたパスはありませんと表示されて移動できません
何故か本のは、できています。使用している教本は
十日でおぼえるC言語入門教室と言う本です。
ご助言頂けたら幸いです。
0369デフォルトの名無しさん
NGNGcd \TEMP だとルートディレクトリにある TEMP に移動しようとする
cd TEMP とせい
0370デフォルトの名無しさん
NGNG真にありがとうございます、さっきも
似た様な事が起こりました、本のは
cd WINDOWSとなっていて、そのとおりやってもできず
cd \WINDOWSと\を付けたらできたりとか
何が原因なんでしょうか?連続質問、すみません。
0371370
NGNGアクセサリーのエクスプローラーで見ても
フォルダが移動されてない気がするんですが
これで宜しいんでしょうか・・・・?
0372デフォルトの名無しさん
NGNG0373370
NGNG0374デフォルトの名無しさん
NGNGピクチャボックスのBackColorをColor.TransParentにすると、
親であるフォームの背景色が透過され、
下にあるはずのラベルが見えません。
ピクチャボックスの親をラベルにすれば出来るのですが・・・
ピクチャボックスの親をフォームにしたまま、ラベルが見えるようにする方法はないのでしょうか?
0375デフォルトの名無しさん
NGNGPictureBox.Visibleをfalseにするとか。
0376デフォルトの名無しさん
NGNGWin32 API を使うか何かして、ラベルやピクチャボックスのウィンドウスタイルから
WS_CLIPSIBLINGS を外せばいいんじゃない(Form のを外すんだっけ?)
0377374
NGNGピクチャボックスが見えないと困るんです・・・。
やりたいことは
テキストボックスやボタンを配置した普通のアプリで、
一定時間操作がないとフォーム上をスクリーンセイバーのように
キャラクターが動き回る、というものです。
なので、キャラクターはコントロールの上に描画されて、且つ描画されない部分は下のコントロールを透過させたいんです。
何卒よい知恵をお願いします。
0378デフォルトの名無しさん
NGNG0379デフォルトの名無しさん
NGNGFormにWM_PRINTを送ってFormのImageを取得、それを背景画像に使うというのは?
0380デフォルトの名無しさん
NGNG0381デフォルトの名無しさん
NGNG0382デフォルトの名無しさん
NGNG0383デフォルトの名無しさん
NGNG0384デフォルトの名無しさん
NGNG置き換えに Regex を使うとするとどうなりますか?
0385デフォルトの名無しさん
NGNG上手いやり方があるかも知れないが
考えるのが苦手な私はRegex.Replace(string, MatchEvaluator)を使う。
0386デフォルトの名無しさん
NGNG0387デフォルトの名無しさん
NGNG例えばあるクラスのint型のメンバへのアクセスで同期を取りたい場合、
意味のない適当な参照型をlockして同期を取ってもいいのでしょうか?
lock(bitmap){}とか
0388デフォルトの名無しさん
NGNGoSheet.get_Range(oSheet.Cells[1,1],oSheet.Cells[10, 100]).Sort(
の引数に、どう値をセットしたら良いかわからない・・・
カラムが10個あって、そのうちの3つ目、4つ目の値をキーにソート
したいのだけども・・・
誰か教えて
0389デフォルトの名無しさん
NGNGttp://www.microsoft.com/japan/msdn/officedev/vsto2003/ExcelObj.asp
何この馬鹿馬鹿しいメソッド。
>>387
無関係のオブジェクトをロックして何の意味が?
ロックってのは
「ロックしてるオブジェクトを他のスレッドから操作されないようにする」
だよ?
0390387
NGNGそれはそうなんですが、
例えば、
get{
lock(bitmap{
}
}と
set{
lock(bitmap){
}
}
とやればbitmapへのロック自体は意味なくても、
set側とget側で同期が取れるんじゃないかなぁと思ったんですが
0391デフォルトの名無しさん
NGNG無理。あり得ない。
ロックは
「そのブロック中は他スレッドからの操作を待機させる」
じゃない。
「そのブロック中はロックしてるオブジェクトの他スレッドからの操作を待機させる」
だ。
0392デフォルトの名無しさん
NGNG何かおかしくないか?
lock は「この中でこのオブジェクトを使うから他の奴は待ってろ」っていう動作をするんだぞ?
待つのは lock の先頭、Monitor.Enter を行った瞬間だけだ
なのでこの場合は >>390 の同期は取れる
ただし意味の無いオブジェクトをロックに使うのは無意味だから止めとけ
0393デフォルトの名無しさん
NGNGhttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpgenref/html/cpconthreadingdesignguidelines.asp
Interlockedクラスとかはダメ?
0394387
NGNG{
Monitor.Enter(bitmap);
}
private void thread()
{
lock(bitmap)
{
label2.Text = "ここがでない";
}
}
private void button1_Click(object sender, System.EventArgs e)
{
Thread td = new Thread(new ThreadStart(thread));
td.Start();
}
こんな形でなんとか同期は取れてるのですが・・・
>>392
値型で同期を取るにはどうすればいいのでしょうか?
0396デフォルトの名無しさん
NGNGんが、ほんとだ。
適当なこと言って悪かった。
391は取り消し。
0397デフォルトの名無しさん
NGNGマルチスレッドは難しいなぁ。
0398デフォルトの名無しさん
NGNG値型でロックをとるという操作自体は無理。
が、べつに適当なロック用オブジェクトを作成しておいて
それで同期を取ることには何ら問題はない(正しく管理していれば)。
どうも勘違いしている書き込みが多いような気がするが、
ロックは必ずしも排他アクセスさせたいオブジェクトそのものに対して
行わなければならないわけではない。
インスタンスメソッドなのであれば、場合によってはthisでロックしてもいいし、
それがダメなら、例えばメンバに、
object forIntMemberLock = new object();
とでもしておいてそれをロックしてもいい。
0399デフォルトの名無しさん
NGNG他のスレッドからの、同じオブジェクトに対するlockを待たせるもの。
「対象のオブジェクトへのアクセス」を禁止する物ではない。
0400デフォルトの名無しさん
NGNG0401デフォルトの名無しさん
NGNGadvisory lockingというやつですな
な気がするが…
0402デフォルトの名無しさん
NGNGMonitor つかえや( ゚Д゚)ゴルァ!! ってことか
0403デフォルトの名無しさん
NGNGなんでそうなるんだよ
0404デフォルトの名無しさん
NGNG0405デフォルトの名無しさん
NGNG0406デフォルトの名無しさん
NGNG0407デフォルトの名無しさん
NGNGどうやったら、上手くイベントを発生させられますか?
public delegate void Handler();
public class Class1
{
public event Handler Handle;
public void Test()
{
Handle();
}
}
public class Class2
{
public static void Main(string[] args)
{
Class1 c1 = new Class1();
c1.Test();
Console.WriteLine("Hello World!");
}
}
0408デフォルトの名無しさん
NGNGif (Handle != null) Handle();
0409デフォルトの名無しさん
NGNGよく差分バックアップするソフトにはこういう機能が付いてるんじゃないかと思うのですが。
物凄い初心者なんで考え方が分かりません。
ファイル名を比較しながらループさせたらできますか?でもこれだとめちゃめちゃ重くなりそう!?
0410デフォルトの名無しさん
NGNG0411デフォルトの名無しさん
NGNGnanocrew.net - Software
www.nanocrew.net/software/
DeDRMS - CLI utility for decrypting AES encrypted MPEG4 AAC files.
FairKeys - CLI utility for retrieving FairPlay keys from Apple's servers.
JustePort - CLI utility for streaming MPEG4 Apple Lossless files to an AirPort Express.
0412デフォルトの名無しさん
NGNG0413デフォルトの名無しさん
NGNG>C++みたいなDDX
DDXはC++とは関係ねーだろ。WTLとかMFCの機能だ。
.NETではライブラリが充実してるから、
そんな腐った機能は逆に邪魔なだけ。
0414デフォルトの名無しさん
NGNG0415デフォルトの名無しさん
NGNGつまり.NETアプリが実行可能な環境ならコンパイルも可能。
//Microsoft.CSharp.Compilerクラスで実行時コンパイルなんてな。
0416デフォルトの名無しさん
NGNG0417デフォルトの名無しさん
NGNGC#は膨大な量のクラスライブラリを扱う事になるので、
インテリセンスのような、エディタのサポートが必須だと思う。
コンパイラだけで何とかなる時代は終わったよ。
いまならMSのサイトからVC#2005のベータ版を落とせる。
それ使ってみるのも良いかも。
ttp://www.microsoft.com/japan/msdn/vstudio/2005/express/
0418デフォルトの名無しさん
NGNGlock(this) {} がお勧めです。
0419デフォルトの名無しさん
NGNGというか、MSDN にもそう書いてある。
非 static メソッドなら lock(this)
static なら lock(typeof(TypeName))
0420デフォルトの名無しさん
NGNG0421デフォルトの名無しさん
NGNGこれを無効にするにはどうすればいいですか?
例えば、[Ctrl+j]を[←]と同じ動きをするようにしたいのですが、
[Ctrl+j]キーを押したときに、
SendKeys.Send( "{LEFT}" );
としてみても、Ctrlキーが押されているので、
[Ctrl+←]として認識されてしまい、
[←]キー単体で押している時のようにできませんでした。
0422デフォルトの名無しさん
NGNGProcessCmdKeyとかそのへんでできない?
[Ctrl+j]ならContextMenuだけでいけるかもしれない。
0423デフォルトの名無しさん
NGNGどうもありがとう。
でも、うまくいきませんでした。
やったことは、
ProcessCmdKey()の中で、[Ctrl+J]の時に、
SendKeys.Send( "{LEFT}" );
あるいは、
keyData = Keys.Left;
とやってみましたが、[Ctrl+←]になっちゃいます。
ContextMenuも試してみましたが、マウスの右クリックからは望むとおりにできましたが、
キーボードからショートカットを打つと矢張り[Ctrl+←]になりました。
どうすればいいですか?_| ̄|〇
0424デフォルトの名無しさん
NGNGしかし私は開眼した!
SelectionStartプロパティが選択中か否かにかかわらずキャレット位置を示すのだ!
ってことでProcessCmdKeyメソッドでこんなのでいける。
if (key == (Keys.Control | Keys.J)) {
int current = SelectionStart + SelectionLength;
SelectionLength = 0;
SelectionStart = current - 1;
return true;
}
else
return false;
0425デフォルトの名無しさん
NGNGSelectionStart = (current > 0) ? current : 0;
だな。
0426デフォルトの名無しさん
NGNGSelectionStart = (current > 0) ? current - 1 : 0;
0427デフォルトの名無しさん
NGNG> SelectionStartプロパティが選択中か否かにかかわらずキャレット位置を示すのだ!
ここでゲラゲラ笑った
0428デフォルトの名無しさん
NGNG0429デフォルトの名無しさん
NGNGぐだぐたのところわるいが
else
return base.ProcessCmdKey(...)
にしる。
>>423
メッセージの段階で変換するとか。
ProcessKeyEventArgsとかその辺でいけるはず。
0430デフォルトの名無しさん
NGNGXmlDocument[] XD = new XmlDocument()[10];
とやるとしたのエラーがでてしまいます。
'System.Xml.XmlNode.this[string]' に最も適しているオーバーロード メソッドには無効な引数がいくつか含まれています。
0431デフォルトの名無しさん
NGNGその質問は正しくは
> 配列ってどうやってつくるんでしょうか。
だな。
MSDN/ヘルプの配列のところを読め。
0432デフォルトの名無しさん
NGNGDataGridからデータの変更をすることは出来ないのでしょうか?
0433デフォルトの名無しさん
NGNG'インスタンス生成
Set OBJ = CreateObject("TEST.Func")
とかやって外部の DLL を操作している部分があるのですが,
これら外部の DLL をそのまま C# で使う事ができますか?
0434デフォルトの名無しさん
NGNG遅延バインディングなら
ttp://dobon.net/vb/dotnet/vb2cs/createobject.html
ただしリフレクションを介して操作することになって大変面倒くさい。
事前バインディングならtlbimp.exeを使ってタイプライブラリをつくる。
VSなら直接COMのDLLを参照設定できる(裏で自動的にtlbimpしてくれる)。
0435デフォルトの名無しさん
NGNGまあ素直にDataSet/DataTableつかっとけってことだな。
0436デフォルトの名無しさん
NGNG?? 普通に出来たけど。
なんか別のところで引っかかってない?
0437デフォルトの名無しさん
NGNG//API
[DllImport("gdi32.dll")]
public static extern int BitBlt(IntPtr hDestDC,int x,int y,int nWidth,int nHeight,IntPtr hSrcDC,int xSrc,int ySrc,int dwRop);
[DllImport("gdi32.dll")]
public static extern short SetDIBitsToDevice(IntPtr hdc,short x,short y,int dx,int dy,short SrcX,short SrcY,int Scan,int NumScans,IntPtr Bits,IntPtr BitsInfo,int wUsage);
[DllImport("gdi32.dll")]
public static extern int SetDIBits(IntPtr hdc,IntPtr hBitmap,int nStartScan,int nNumScans,int lpBits,IntPtr lpBI,int wUsage);
[DllImport("kernel32.dll")]
public static extern void MoveMemory(IntPtr dest,IntPtr Source, int length);
[DllImport("kernel32.dll")]
public static extern int LocalFree(IntPtr MemHandle);
[DllImport("kernel32.dll")]
public static extern int LocalLock(IntPtr MemHandle);
[DllImport("kernel32.dll")]
public static extern int LocalUnlock(IntPtr MemHandle);
[DllImport("D:\\ifjpeg.spi", EntryPoint="GetPictureInfo" ,ExactSpelling=true, SetLastError=true)]
public static extern int JPGInf( String FileSTR, int OffSet, int Mode,IntPtr Info);
[DllImport("D:\\ifjpeg.spi", EntryPoint="GetPicture",ExactSpelling=true , SetLastError=true)]
public static extern int JPGDraw( System.Text.StringBuilder FileSTR, int len, int flag,IntPtr pHBInfo,IntPtr FARPROC,int CallBack, int CallBackLong);
0438437
NGNGpublic int SDrawPic(StringBuilder PicFile,PictureBox ToDraw)
{
IntPtr BitMapMemoryHandle = IntPtr.Zero;
IntPtr BitMapInf = IntPtr.Zero;
int LocalMemoryBMP;
int LocalMemoryInf;
BITMAPINFOHEADER BitMapHeader = new BITMAPINFOHEADER();
int Ret = 0;//エラーコード
int Ret2;//エラーコード2
//画像展開
Ret = JPGDraw(PicFile, 0, 0,BitMapMemoryHandle,BitMapInf, 0, 0);
//メモリーのロック
LocalMemoryBMP = LocalLock(BitMapMemoryHandle);
LocalMemoryInf = LocalLock(BitMapInf);
//メモリの移動
MoveMemory((IntPtr)((object)BitMapHeader),(IntPtr)LocalMemoryBMP,Marshal.SizeOf(BitMapHeader));
//描画準備
Ret2 = SetDIBits(ToDraw.Handle, (IntPtr)((object)ToDraw.Image), 0, ToDraw.Height, LocalMemoryInf, (IntPtr)LocalMemoryBMP, 0);
if(Ret2 == 0) Ret = 11;
//メモリの開放
LocalUnlock(BitMapMemoryHandle);
LocalUnlock(BitMapInf);
LocalFree(BitMapMemoryHandle);
LocalFree(BitMapInf);
//描画
ToDraw.Refresh();
return Ret;
}
0439デフォルトの名無しさん
NGNG0440デフォルトの名無しさん
NGNGGraphics.CompositingMode
0441439
NGNGもうちょっと詳しい説明をお願いします。
0442デフォルトの名無しさん
NGNG0443デフォルトの名無しさん
NGNG0444デフォルトの名無しさん
NGNG0445デフォルトの名無しさん
NGNG0446デフォルトの名無しさん
NGNGちっとはSystem.IO名前空間ぐらい調べろって。
0447デフォルトの名無しさん
NGNGFileStream fs = new FileStream(path, FileMode, FIleAccess);
BinaryWriter bw = new BinaryWriter(fs);
fs.Write(byte[] array, int x, int y);
bw.Write(byte[] array, int x, int y);
どちらも結果は同じなんですが
0448デフォルトの名無しさん
NGNGBinaryWriterは結局のところStreamのラッパに過ぎないわけだし。
Write(byte[], int, int)を使うだけならBinaryWriterを使う意味は無かろうが。
0449437
NGNGRet = JPGDraw(PicFile, 0, 0,BitMapMemoryHandle,BitMapInf, 0, 0);
の場所で「オブジェクト参照がオブジェクト インスタンスに設定されていません。」とエラーを吐き出します。
その理由がわからず困っています、分かる方教えてください。
0450デフォルトの名無しさん
NGNGP/InvokeでNullReferenceExceptionが出ることはないはずだから、
なんか他のが原因な気がするけど……。
取りあえずエラーが起きた時に何がnullになってるかをチェック。
0451デフォルトの名無しさん
NGNGちなみに普通のメニューは出ます。
0452デフォルトの名無しさん
NGNGまずはSystem.Windows.Forms名前空間内の〜Menuってなクラスを調べてみたらどうだろうか。
0453437
NGNGRet = JPGDraw(PicFile, 0, 0,BitMapMemoryHandle,BitMapInf, 0, 0);
↑の変数の中身は
StringBuilder PicFile = "C:\Winter.jpg"
int BitMapMemoryHandle = 0
int BitMapInf = 0
でした。どれもNULLじゃないので、全然わからないです T_T
0454デフォルトの名無しさん
NGNGじゃあそれ以外の何か。
0455デフォルトの名無しさん
NGNGP/Invoke でも、確か先方がそれらしい Windows 構造化例外を投げれば
NullReferenceException として上がってきたと思う。JPGDraw のソースが
あるなら、デバッグビルド版にしてネイティブデバッグも ON にすれば
当該箇所が分かると思う。
0456437
NGNGでもまだ表示はされないけどw
表示されない理由分かる方お願いします。
変更点-API
[DllImport("gdi32.dll")]
public static extern int BitBlt(IntPtr hDestDC,int x,int y,int nWidth,int nHeight,IntPtr hSrcDC,int xSrc,int ySrc,int dwRop);
[DllImport("gdi32.dll")]
public static extern short SetDIBitsToDevice(IntPtr hdc,short x,short y,int dx,int dy,short SrcX,short SrcY,int Scan,int NumScans,IntPtr Bits,IntPtr BitsInfo,int wUsage);
[DllImport("gdi32.dll")]
public static extern int SetDIBits(IntPtr hdc,IntPtr hBitmap,int nStartScan,int nNumScans,ref int lpBits,ref IntPtr lpBI,int wUsage);
[DllImport("kernel32.dll")]
public static extern void MoveMemory(IntPtr dest,IntPtr Source, int length);
[DllImport("kernel32.dll")]
public static extern int LocalFree(IntPtr MemHandle);
[DllImport("kernel32.dll")]
public static extern int LocalLock(IntPtr MemHandle);
[DllImport("kernel32.dll")]
public static extern int LocalUnlock(IntPtr MemHandle);
[DllImport("D:\\ifjpeg.spi", EntryPoint="GetPictureInfo" ,ExactSpelling=true, SetLastError=true)]
public static extern int JPGInf( String FileSTR, int OffSet, int Mode,IntPtr Info);
[DllImport("D:\\ifjpeg.spi", EntryPoint="GetPicture",ExactSpelling=true , SetLastError=true)]
public static extern int JPGDraw( System.Text.StringBuilder FileSTR, int len, int flag,ref IntPtr pHBInfo,ref IntPtr FARPROC,int CallBack, int CallBackLong);
0457437
NGNGpublic int SDrawPic(StringBuilder PicFile,PictureBox ToDraw)
{
IntPtr BitMapMemoryHandle = IntPtr.Zero;IntPtr BitMapInf = IntPtr.Zero; IntPtr LocalMemoryBMP;
int LocalMemoryInf; int Ret = 0; int Ret2;
BITMAPINFOHEADER BitMapHeader = new BITMAPINFOHEADER();
//画像展開
Ret = JPGDraw(PicFile, 0, 0,ref BitMapMemoryHandle,ref BitMapInf, 0, 0);
//メモリーのロック
LocalMemoryBMP = (IntPtr)LocalLock(BitMapMemoryHandle);
LocalMemoryInf = LocalLock(BitMapInf);
//ガベージコレクタがオブジェクトを移動できないようにする
GCHandle gch = GCHandle.Alloc(BitMapHeader, GCHandleType.Pinned);
GCHandle gch2 = GCHandle.Alloc(ToDraw.Image, GCHandleType.Pinned);
//メモリの移動
int address = gch.AddrOfPinnedObject().ToInt32();
MoveMemory((IntPtr)address,(IntPtr)LocalMemoryBMP,Marshal.SizeOf(BitMapHeader));
//描画準備
int address2 = gch.AddrOfPinnedObject().ToInt32();
Ret2 = SetDIBits(ToDraw.Handle, (IntPtr)address2, 0, ToDraw.Height,ref LocalMemoryInf,ref LocalMemoryBMP, 0);
if(Ret2 == 0) Ret = 11;
//メモリの開放
LocalUnlock(BitMapMemoryHandle);
LocalUnlock(BitMapInf);
LocalFree(BitMapMemoryHandle);
LocalFree(BitMapInf);
gch.Free();
gch2.Free();
//描画
ToDraw.Refresh();
return Ret;
}
0458デフォルトの名無しさん
NGNGJPEGファイルから作ったFileStreamを、
またJPEGファイルに戻して保存したいのですが、
どうすればよいのでしょうか?
また、このStreamからBMPファイルに
変換→保存する方法はあるのでしょうか?
0459デフォルトの名無しさん
NGNG> JPEGファイルから作ったFileStreamを、
> またJPEGファイルに戻して保存したいのですが、
> どうすればよいのでしょうか?
は?
そのFileStreamは一体何者?
どっからどうみてもファイルそのものじゃないのか?
> また、このStreamからBMPファイルに
> 変換→保存する方法はあるのでしょうか?
Image.Save(Stream, ImageFormat)
Image.Save(string, ImageFormat)
0460458
NGNGこれで全て解決しました。ありがとうございます。
0461デフォルトの名無しさん
NGNGコレクションをプロパティとして持つコントロールを作成しました。
しかし、VS.netのプロパティウィンドウからそのコレクションに
関連コントロールを追加してもInitializeComponent()内に
関連コントロールを追加する文(Control.Add()など)が記述されません。
どうすれば自動的に追加する文を記述されることができますか?
0462デフォルトの名無しさん
NGNG使ってない変数や余計な行は削除してから上げてもらえると良かったんだけど。
まず、SetDIBits の第一引数は HDC なので、ToDraw.Handle じゃだめです。
あと PictureBox に直接描いても、ウィンドウを動かしたりなんかしたりするとすぐ消えてしまうので、
Bitmap を作ってそこに描画し、 Image プロパティにセットしておくのがよいと思います。
適切なサイズのビットマップを new Bitmap(...) 等して確保して、Graphics.FromImage で Graphics を作って、
GetHdc() で HDC を得て、StretchDIBits で描いて、ReleaseHdc() で開放して、出来上がった Bitmap を
PictureBox の Image にセットして Invalidate しておしまい、という流れにしてみてください。
0463デフォルトの名無しさん
NGNG0464デフォルトの名無しさん
NGNGコンパイラに/target:winexeオプションを指定して
Main()のなかでMessageBox.Show()
0465デフォルトの名無しさん
NGNGttp://www.google.com/search?num=100&oe=utf8&q=%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB+%E3%82%B3%E3%83%AC%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3+%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF
これか。
0466デフォルトの名無しさん
NGNGグーグルで思うようにヒットせずに質問致します。
例)ピクチャボクスに表示したビトマプ画像に塗りつぶし円を描くが
その円はその領域だけ元のビトマプ画像を反転させる役目を有する
以上、ご存知な方、宜しくお願い致します。
0467デフォルトの名無しさん
NGNGGraphics ではサポートされていません。
円形のクリッピングを設定して、適当な色変換と供にビットマップを再度描画してはどうでしょうか。
0468デフォルトの名無しさん
NGNGどうすれば良いでしょうか?
表示する前にLocationを設定しても無駄でした。
0469デフォルトの名無しさん
NGNGForm.StartPositionをFormStartPosition.ManualにしてLocationを設定(いや順番は関係ないが
0470デフォルトの名無しさん
NGNGそれ、以前に同じ事やろうとして無駄な時間をすごしてしまった。俺。
素直にDirectX使ったほうがいい。
0471デフォルトの名無しさん
NGNG解決できました。
StartPositionに気づきませんでした。
ありがとうございました。
0472デフォルトの名無しさん
NGNG例えば、クラスA、クラスB、クラスC(プロパティc)というクラスがあり、
クラスCのプロパティcは、クラスAからは読み書き両方できるけど、クラスBからは読み取り専用・・・
なんてこともカスタム属性で出来るんでしょうか?
0473デフォルトの名無しさん
NGNGマークをつける側と、マークを読む側で、
書式と意味が一致している必要がある。
0474デフォルトの名無しさん
NGNGわかるんでしょうか?
0475デフォルトの名無しさん
NGNGどのようにすれば割り当てられるでしょうか?
例えば
this.menuItem1.Shortcut = System.Windows.Forms.Shortcut.CtrlQ;
の場合、Ctrl+Qが割り当てられていますが、これをQのみに対応させたいのです
0476デフォルトの名無しさん
NGNGKeyDownで'Q'だったらmenuItem1.PerformClick()ってんじゃ駄目かな?
0477デフォルトの名無しさん
NGNGthis.button1.PerformClick();
だとbutton1_Clickで記述された処理が実行されますが、
このときに、画面に見えているボタンがぽこっと実際にクリックしたように
へこむアクションをさしたいのですが、どうしたらいいでしょうか?
0478475
NGNGそうするとメニューの項目の横に
----------------------
メニュー1 Ctrl+Q
----------------------
というような表示が出ないので、なんとかShortcutで設定したいのです
どうにかならないものでしょうか?
0479デフォルトの名無しさん
NGNG"メニュー1\tQ"
でOK.
>>479
Buttonを継承したコントロールに独自のメソッド(SimulateClickとか)を追加して
そこでがしがし描画、かな。
System.Windows.Forms.ControlPaintクラスの各メソッドが使えるかも知れない。
0480デフォルトの名無しさん
NGNGダイアログ終了時に親画面と同期をとりたいんですが、
どんなやり方がスマートなのでしょうか?
親が子の終了を察知する方法です。
子から親のメソッドをを呼び出したくないので。
0481デフォルトの名無しさん
NGNG0482475
NGNGえらい適当な・・・
色々やってますが無理なんでしょうかね?
Shortcut.CtrlQとKeys.Control|Keys.Qの値が同じだったので
Keys.Qの値をShortcutに無理矢理キャストしたら怒られました
0483デフォルトの名無しさん
NGNGどうしてそんな異様なUIにしたいの?
0484デフォルトの名無しさん
NGNGShortcutプロパティでできないのは動かしがたい事実。
0485475
NGNG476,479で行きます
ありがとうございました
引き続きでなんですが
アプリケーション用のアイコンと関連付けたファイルのアイコンを別々にしたいのですが
一つのアプリケーションに複数のアイコンをつけるにはどうすればよいでしょうか?
0486デフォルトの名無しさん
NGNGはApp.icoのことでしょ?
> 関連付けたファイルのアイコン
はWindowsへ登録するわけだから、
アプリそのものは関係ないと思うんだけど。
0487475
NGNG別にアプリとは別のアイコンファイルを用意して
それにアイコンを設定するという方法でも良いのですが
市販のアプリとかは一つのアプリ内に複数のアイコンを持っていたりするので
できれば一緒にしたいと思っているわけです
要するにレジストリのDefaultIconで
"アプリのパス,1"とかで指定したいのです
0488デフォルトの名無しさん
NGNG0489デフォルトの名無しさん
NGNG何を言ってるのかようわからん。
>>488
GetFiles().Length
GetFilesはFileInfoの配列を返すわけだから、
その配列の要素数( Length )がファイル数に相当する。
0490デフォルトの名無しさん
NGNG自分かなり初心者でただファイル読み込むときにプログレスバーを
付けてみたかっただけなんですけどこれでできそうです。
どうもありがとうございました!
0491デフォルトの名無しさん
NGNGプログレスバーを表示しようとしたんですが、
0%から全部終わった瞬間に一気に100%までいってしまいます。
なぜでしょうか?
0492デフォルトの名無しさん
NGNGstrは、数字 文字列 数字 文字列 … 数字 という構造になっていて、
頭から順にnumに数字を、str2に文字列をいれて行きたいのですが…
サンプルコードをいただけませんか?
Perlの$1,$2にあたる部分とかもさっぱり分からん
0493490
NGNG0%から全部終わった瞬間に一気に100%までいってしまいます。
なぜでしょうか?
0494デフォルトの名無しさん
NGNG書き方はいくらでもあるが、一例。
string data = "123ghoshg255grehi55dghdkg";
Regex reg = new Regex("([0-9]+)([a-zA-Z]+)", RegexOptions.Compiled);
foreach (Match m in reg.Matches(data)) {
int i = int.Parse(m.Groups[1].Value);
string n = m.Groups[2].Value;
Console.WriteLine("{0} : {1}", i, n);
}
0495デフォルトの名無しさん
NGNGstring str = "111aaa222bbb333ccc";
Regex regex = new Regex(@"(?<num>\d+)(?<str2>[a-zA-Z]+)");
for (Match m = regex.Match(str); m.Success; m = m.NextMatch())
{
string num = m.Groups["num"].Value;
string str2 = m.Groups["str2"].Value;
Console.WriteLine("num={0}, str2={1}", num, str2);
}
こんな感じ?
0496デフォルトの名無しさん
NGNG0497デフォルトの名無しさん
NGNGFont型フィールドをシリアル化したのですが
デシリアライズ時に次のエラーをはきます。
System.ApplicationException
{"呼び出しのターゲットが例外をスローしました。" }
_innerException
{"指定されたキャストは有効ではありません。" }
色々変えてみたりしたんですけど、うまく行かず
ぐぐってみたらプロパティでラップしたら出来たとかかれていたんですけど
それもやり方が悪いのか出来ませんでした。
どうすればデシリアライズできるか教えてください。
0499デフォルトの名無しさん
NGNGDrawImage に渡していろいろ試しています.
イメージは背景画像と前景画像とあり,前景画像はある特定の色が
透過色として設定してあります(255,0,255)
この時前景画像が GIF 画像の時は合成されるのですが
JPG の場合は合成されずに,透過色がそのまま描画されてしまいます.
JPG では,ImageAttr を設定し,画像を合成する事はできないのでしょうか?
0500デフォルトの名無しさん
NGNG単に圧縮する時に色が変わってるだけじゃないの?
>>497
SoapFormatterならFontを問題なくシリアライズ・デシリアライズできるはずだが。
なんか他の要因があるような。
0501デフォルトの名無しさん
NGNGこれを任意の位置に表示するにはどうすればいいの
でしょうか?
0502デフォルトの名無しさん
NGNGISerializableを実装させる。
.ctor(SerializationInfo info, StreamingContext context)
GetDataObject(SerializationInfo info, StreamingContext context)
でそれぞれFontConverterを使ってstringと変換しあう。
>>501
マジレス、自分でFormから作る。
0503497
NGNGやはりそれしかないんですか。
試行錯誤の結果、Font名、サイズ、スタイルと
別々に格納するという方法にしてみたんですけどねえ。
Fontクラスは、シリアル化はできるけどISerializableの
実装をしないと逆シリアル化はできないんですかね・・・
なんにせよ、回答ありがとう。
0504デフォルトの名無しさん
NGNG0505490
NGNG2 DLLを作成。
0506デフォルトの名無しさん
NGNG0507デフォルトの名無しさん
NGNG/win32res を使うんじゃないかな
0508デフォルトの名無しさん
NGNG/win32res の使い方が分かりません
プロパティーにそれらしい項目が無いんですけど
0509デフォルトの名無しさん
NGNGただのアイコン詰め合わせくらいコンパイラでやれって。
0510デフォルトの名無しさん
NGNGでも出来ないんですけど
0511デフォルトの名無しさん
NGNG0512デフォルトの名無しさん
NGNGアイコンファイルをD&Dしたら出来ました
0513デフォルトの名無しさん
NGNGok, あとはrc.exeの意味と使い方を知るだけだ。
ヘルプの/win32resをもう一度熟読して、googleに尋ねるべし。
0514デフォルトの名無しさん
NGNGできました
リソーススクリプトを入れるんですね
とても勉強になりました、どうもありがとうございました
0515デフォルトの名無しさん
NGNGコンパイル後にできたexeを実行すると
'System.Resources.MissingManifestResourceException' のハンドルされていない例外が mscorlib.dll で発生しました。
追加情報 : 指定されたカルチャ (またはニュートラル カルチャ) に必要なリソースがアセンブリに見つかりません。"Form1.resources" が、アセンブリ "Form1" に正しく埋め込まれているか、またはリンクされているかを確認してください。
baseName: Form1 locationInfo: CommandTableMaker.Form1 resource file name: Form1.resources assembly: Form1, Version=1.0.1711.30489, Culture=neutral, PublicKeyToken=null
というエラーが出て実行できません
アイコンはきちんと指定した分だけ登録されているようなので
コンパイルさえ完全に出来れば完成なのですが・・・
ちなみにコンパイル時のコマンドは
csc /t:winexe /win32res:icon.res *.cs
です(icon.resはアイコンのコンパイル済みリソーススクリプト)
0516デフォルトの名無しさん
NGNGForm1はVC#で組んでる?
だとしたらobjディレクトリに*resourcesがあるからそれも突っ込め。
0517デフォルトの名無しさん
NGNGcsc /t:winexe /res:NameSpace.Form1.r
esources,NameSpace.Form2.resources,NameSpace.Form3.resources
/win32res:icon.res *.cs
ちなみに、Form2,3はアプリ内で使う別窓です
あと、コンパイル用にソースがあるフォルダにresourcesファイルを全部コピーしました
0518デフォルトの名無しさん
NGNGユニコードに変換したりとかしないといけないのでしょうか?
0519デフォルトの名無しさん
NGNG素敵に意味不明。
> shift-jisでファイルから読み取った文字列に対してTrim()を使っても空白が削除されてくれません。
削除される空白は文字列の先頭からと末尾からのそれぞれ非空白文字が出現するまで、ってOK?
" p r " -> "p r"
> ユニコードに変換したりとかしないといけないのでしょうか?
.NETは内部の文字列処理にUnicodeを使っているので一旦stringになったらエンコードは関係ない。
0520デフォルトの名無しさん
NGNGstring a = " hoge ";
a.Trim();
とかして、「aの中身が変わらない〜」とか言っているような気がする。
0521デフォルトの名無しさん
NGNGというエラーはどういった時に出るものなのでしょうか?
ウォッチウィンドウでラベルのテキストを見ていると、
あるラベルの値だけが上記のようなエラーになっており、
その後デバッグも続行できない状態になります。
ウォッチウィンドウにそのラベルのテキストを加えなければなんともなりません。
このようなエラーが出たことのある方、何か情報を頂ければ・・・と思います。
0522デフォルトの名無しさん
NGNGここに似たような経験をした人がいますね。
http://www.error-bank.com/microsoft.public.dotnet.languages.vb.1/150478_Thread.aspx
0523517
NGNG皆さんどうもお騒がせしました
0524デフォルトの名無しさん
NGNG以下の部分でとエラーとなり、0byteのJpegファイルが生成されてしまいます。
どこを訂正すればよいのでしょうか。
if( PictureBox.Image != null ){
FileStream FS = new FileStream( filePath, FileMode.Create);
PictureBox.Image.Save( FS, ImageFormat.Jpeg );
}
エラー内容
'System.Runtime.InteropServices.ExternalException' のハンドルされていない例外が system.drawing.dll で発生しました。
追加情報 : GDI+ で一般的なエラーが発生しました。
0525デフォルトの名無しさん
NGNGttp://www.google.com/search?num=100&oe=utf8&q=image+save+gdi%2B+error
いろいろあるね。
StreamをCloseしろとか、ファイル/フォルダにパーミッションがあるのかとか。
0526524
NGNGFileStream FS_TEST1 = new FileStream( @"C:\TEST1.bmp", FileMode.Open, FileAccess.Read );
FileStream FS_TEST2 = new FileStream( @"C:\TEST2.bmp", FileMode.Create );
Image IMG = Image.FromStream( FS_TEST1 ); // この段階でIMGがnullでないことは確認済み
FS_TEST1.Close();
IMG.Save( FS_TEST2, ImageFormat.Bmp ); //ここで "GDI+の一般的エラー"
FS_TEST2.Close();
これで、やはりTEST2.bmpが0 byteで生成されてしまいました。
例えばFileInfo.Copy()での書き込みや、適当にテキストファイルを生成することは出来ているので、
書き込み権は関係ないのではないかと思っています。
0527524
NGNGFS_TEST2.WriteByte(1);
とかに変えてみると、ちゃんと1byte書き込まれたファイルが
生成できることを確認しました。さっぱりです…。help me...
環境 : Win2003SV + VS2003 + .NET1.1
0528デフォルトの名無しさん
NGNG何かよい方法はないでしょうか?
大量(数千のオーダー)に存在するファイルの中から重複するファイルを
省く,という処理を行ないたいのです.
0529在日参政権反対
NGNG前もってハッシュ作レるかとかの条件ももっと細かくかかんとアドバイスできんよ。
0530528
NGNGサイズは似たりよったりのファイルが多数あるので,ファイルのサイズを
比べただけの時点でかなり複数のファイルが一致してしまいます.
その後にバイナリ比較をするとバイナリ比較を行なうコストが高いと思うので
できれば前もって全てのファイルに対するハッシュを生成し,同一ハッシュ値を
持つファイル同一とみなす,といったような事がしたいのですが,
例えば MD5 の場合,同じ内容であれば同一の MD5ハッシュが生成されるの
でしょうか?
また,MD5 ハッシュを生成するには,一旦ファイルの中身を全て
byte 配列などに読み込み,MD5 ハッシュを求める,という処理が
必要になるのでしょうか?
簡単に,ファイルのパスを渡すと,そのファイルのハッシュ値を返して
くれるようなメソッド,もしくは,ファイル名を2つ渡すと内容が同一か
を判断してくれるようなクラスライブラリは .NET Framework には存在
しないでしょうか?
存在しないようであれば,自作するしかないのかな,と思っています.
アドバイスよろしくお願いします.
0531デフォルトの名無しさん
NGNGそのものMD5クラスがある。使い方はヘルプをよく読む。
> 例えば MD5 の場合,同じ内容であれば同一の MD5ハッシュが生成されるの
> でしょうか?
そうでなきゃハッシュの意味がないだろう……。
0532在日参政権反対
NGNGおまい少しはコードかけ...
0533デフォルトの名無しさん
NGNGデザイナで作ったボタンなどのVisibleをfalseにして、
新たに生成したスレッドからVisible=trueとすると、表示がされません。
//button1.Visible = false;
private void Thread1()
{
this.button1.Visible = true;
//表示されない
}
しかし、メインスレッドから一度Visibleをtrueにした後なら、異なるスレッドからでもVisibleをいじることが出来ます。
さっぱり意味がわかりません・・・。
0534528
NGNGすいません.どうやって実装したらいいのか迷っていたので.
案ずるより…という事でやってみました.
using (FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read))
{
MD5CryptoServiceProvider csp = new MD5CryptoServiceProvider();
string checksum = BitConverter.ToString(csp.ComputeHash(fs)).Replace("-", "").ToLower();
}
以外に簡単でした(w
つっこみどころ満載でしたら,つっこみ願います.
0535528
NGNG>> 530 じゃなくて >> 532 でした.
スマソ.
0536デフォルトの名無しさん
NGNGコントロールはスレッドセーフじゃないから、
別スレッドから直接コントロールを操作するのは「お行儀が悪い」。
別スレッドからコントロールを操作するなら、
InvokeまたはBeginInvokeを使って元スレッドに操作を依頼する形が普通。
ttp://ukamen.hp.infoseek.co.jp/Programming/Asyncro/index.htm
0537デフォルトの名無しさん
NGNGありがとうございました
0538デフォルトの名無しさん
NGNG出来たんなら問題ないんでは?
漏れが細かいとこ突っ込むとこんな感じになるが。
- MD5CryptoServiceProvider csp = new MD5CryptoServiceProvider();
+ HashAlgorithm csp = HashAlgorithm.Create("MD5");
0539デフォルトの名無しさん
NGNG0540デフォルトの名無しさん
NGNG{
[DllImport("user32.dll",CharSet=CharSet.Unicode)]
public static extern IntPtr PostMessage(IntPtr hwnd,int wMsg,IntPtr wParam,IntPtr lParam);
[STAThread]
static void Main(string[] args)
{
System.Diagnostics.Process p = System.Diagnostics.Process.Start("notepad.exe");
p.WaitForInputIdle();
int WM_CHAR = 0x0102;
char c = 's';
PostMessage(p.MainWindowHandle ,WM_CHAR ,new IntPtr(c), IntPtr.Zero);
}
}
外部アプリを起動して文字列を送信したいのですが上手くいきません。
notepadの起動は出来るんですがPostMessageが全く無視されてしまいます
何が悪いのかサッパリ分かりません
お願いです助けてください。
0541デフォルトの名無しさん
NGNGポインタ関係は一切送れない。少なくともMessage系では絶対に。
0542デフォルトの名無しさん
NGNGnotepad、wordpadは無視された。
受け取るアプリの方の問題らしい。
>>541
これにポインタは含まれてないような。
0543デフォルトの名無しさん
NGNGnotepadの場合 Edit に送らないとダメなのでは?
>>541
refつけたりマーシャリングしたりすれば送れたかったけ?
無理なら System.Runtime.InteropServices.Marshal なんてものもあるが。
0544デフォルトの名無しさん
NGNG0545デフォルトの名無しさん
NGNG例外処理くらいしろ
0546540
NGNG皆さんありがとうございました!!
class Class1
{
[DllImport("user32.dll"]
public static extern int PostMessage(IntPtr hwnd,int wMsg,IntPtr wParam,IntPtr lParam);
[DllImport("user32.dll")]
private static extern int FindWindowEx(IntPtr parentWindow, int childWindow, string _ClassName, string _WindowName);
[STAThread]
static void Main(string[] args)
{
System.Diagnostics.Process p = System.Diagnostics.Process.Start("notepad.exe");
p.WaitForInputIdle();
IntPtr hwindow = (IntPtr)FindWindowEx(p.MainWindowHandle, 0, "edit", null);
int WM_CHAR = 0x0102;
char c = 's';
PostMessage(hwindow ,WM_CHAR ,new IntPtr(c), IntPtr.Zero);
}
}
あー後はソースを綺麗にしなきゃ。
0548在日参政権反対
NGNGわからんのだけど、一般的エラーってなんなんだよ...COMでも同じようなのあって切れた覚えが...
0549デフォルトの名無しさん
NGNG{
int index;
string str;
}
data = new dat[10];
data[0].index=1;
data[0].str="ddd";
・・・
data[9].index=99;
data[9].str="ddd";
↑のindexの所をソートするとstrもソートするにはどうしたら良いのですか?
それと、Arraylistを利用してこの構造体配列変数にデータ挿入や削除させる事は可能ですか?
0550549
NGNG0551デフォルトの名無しさん
NGNG各要素のindexによってdataをソートするんだよね?
なんか勘違いしてる気がする。
int[] indexとstring[] strをそれぞれ別々に持ってソートするってことかな?
でindexをソートするとstrもソートされる、と?
つまり
int[] index = {3, 5, 2};
string[] str = {"c", "b", "a};
で
Array.Sort(index)した時にArray.Sort(str)も実行、と。
結果は
index = {2, 3, 5}
str = {"a", "b", "c}
こういう解釈で良いのかな。
0552549
NGNG間違ってました。indexの所だけソートしたらstrも追従して
前 index=3,5,2 str=c,b,a
後 index=2,3,5 str=a,c,b
の様にしたいのです。
それで、この二つの変数は構造体でワンセットになってて、さらにそれが配列変数に
なっています。
簡単にいえば住所録みたいに名前とナンバーを付けといて、ナンバーをソートしたら
名前もそれに従うという風にしたいのです。
もう一つ、住所録なので挿入と削除も実装したいので構造体にそういう機能は無いのかな
と思ったのです。
0553デフォルトの名無しさん
NGNGpublic int no;
public int name;
public MyData(int no, int name){ this.no=no; this.name=name; }
}
class MyDataNoComparer : IComparer{
//二つのMyDataのnoを比較する
public int Comparer(object x, object y){
return ((MyData)x).no - ((MyData)y).no;
}
}
ArrayList al = new ArrayList();
al.Add(new MyData(6, "six"));
al.Add(new MyData(3, "three"));
al.Add(new MyData(8, "eight"));
al.Add(new MyData(5, "five"));
al.RemoveAt(3); //「five」を削除
al.Insert(1, new MyData(1, "one")); //「three」の前に挿入
al.Sort(new MyDataNoComparer()); //noで並べ替え
0554デフォルトの名無しさん
NGNGMyDataにIComparableを実装させる方が自然じゃないか?
0555デフォルトの名無しさん
NGNG私の勉強した知識では、PaintイベントはWndProcがWM_PAINTを受け取ってから実行されると思いますが、
WndProcがWM_PAINTを連続で受け取っても、非同期でPaintイベントを起こしたりはしないと考えているのですが。
FormのPaintイベント内でBitmapをDrawImageでロードしてるのですが、
「そのオブジェクトは使われています」というエラーが出てしまいます。
lock(Bitmap)
{
e.Graphics.DrawImage(bitmap, 0, 0);
}
でエラーは出なくなったのですが、イマイチ釈然としません。
0556デフォルトの名無しさん
NGNG漏れも釈然としないので(マルチスレッドAPではないですよね)、
Graphics.FromImage でその Bitmap に対して作成した Graphics を Dispose し忘れている、
に1票。
0557555
NGNGPaintイベント内なので
private void Form1_Paint(object sender, PaintEventArgs e){
Graphics g = e.Graphics;
.....
となっておりますので、BitmapのGraphicsは生成しておりません。
言い忘れましたがマルチスレッドアプリケーションです。
マルチスレッドアプリケーションならありうることなのでしょうか?
0558デフォルトの名無しさん
NGNG0559デフォルトの名無しさん
NGNGウィンドウのサイズ変更時にテキストボックスとかのサイズ(レイアウト)を変更する時って
Resizeイベントが発生した時にWidthとかの値を取得して自分で設定するんですよね?
もっと簡単な方法(もしくはこの方法に問題が)ってあるんでしょうか?
0560デフォルトの名無しさん
NGNG普通はDockまたはAnchorプロパティを使う。
0561デフォルトの名無しさん
NGNG縦横に複数並べてテキストボックス等配置してあるんですが、
そのレイアウト(というか比率というか)も設定できます?
できればこのテキストボックスは長めに伸びて・・・みたいなことをしたいんですが。
0562デフォルトの名無しさん
NGNGでした。
0563デフォルトの名無しさん
NGNG複雑なレイアウトを実現しようと思ったら自分でやるしかないんじゃないかな?
0564デフォルトの名無しさん
NGNG比率も均等分割だったら可能。
ttp://home.att.ne.jp/banana/akatsuki/doc/atlwtl/atlwtl18-02/index.html
0566デフォルトの名無しさん
NGNGC#で作った簡単なプログラムをサイトなどにアップする場合に
セキュリティ面で気をつけることはあるでしょうか?
個人情報流出とか、PCを特定されるとか・・
0567デフォルトの名無しさん
NGNGコードは書いたとおりにしか動かない。
自分で作ってあげる分には心配ないはず。
0568デフォルトの名無しさん
NGNGちょっと、まだ最近始めたばかりであまりわからないのですが、
自分のプログラムをアセンブリして見ると
シリアルIDっぽいものや、ディレクトリ情報などがあると思うのですが
それ以外に何か情報が入ってないのかってのが心配です。
0569デフォルトの名無しさん
NGNG下に余白が出来て最小の状態でウィンドウが開かなくなってしまったorz
作り直しか・・・
0570デフォルトの名無しさん
NGNG試しにメインメニューをカットしてみたら意図した起動になりました。
なんなんだろう・・・。
0571デフォルトの名無しさん
NGNG別に違法コピーとかしてなきゃ問題無いでしょ。
0572デフォルトの名無しさん
NGNG実は自分のプログラムをラウンジってソース置き場あるでしょ?
あそこにうpしたらさ、なんかおれのPCに穴が開いたらしくて
おれのパソコンの中身とか見れたんだって
実際そいつが、うpしたファイルのディレクトリの場所知ってたし
プログラム自体のセキュリティってどうなのかなと思いまして
0573デフォルトの名無しさん
NGNG0574デフォルトの名無しさん
NGNG0575デフォルトの名無しさん
NGNG0576デフォルトの名無しさん
NGNGもっと勉強しろ。
0577デフォルトの名無しさん
NGNGバー自体をつまんで移動した時に、
移動した情報やバーがつかまれた等認識できるのでしょうか?
(hscroll等のように▼▲おしたときにクリックイベントとんで来るとか・・・)
よろしくお願いします。
0578デフォルトの名無しさん
NGNGデバッグビルド?
0579デフォルトの名無しさん
NGNG0580572
NGNG自分で調べても、ノートンや、ウィルスチェックソフトのサイトしか見つからなくて
本当に怖いんです。
別に問題ないならいいんですが。偶然でもディレクトリの場所なんて
わからないはずなんですが、お願いします
0581デフォルトの名無しさん
NGNG0582デフォルトの名無しさん
NGNG問題ない。
0583デフォルトの名無しさん
NGNG0584572
NGNGディレクトリ情報っていっても、コンパイルした場所じゃないんです。
コンパイルした情報は埋め込まれてるのはわかります(消す方法ないですか?)
そうじゃなくて、ファイルをサイトにアップしたのですが
コンパイルした場所からじゃなくて、別のドライブのディレクトリに移動して
そこからうpしたのですが、その別のドライブのディレクトリに
まだファイルがあるってことを指摘されたんです
0585デフォルトの名無しさん
NGNGそろそろスレ違いに気付け。
それはもはやC#の話題ではない。
0587デフォルトの名無しさん
NGNGプログラムに問題があると思うならソースを公開汁
0588在日参政権反対
NGNGだとしたらあながちすれ違いともいえんと思うが.
0589デフォルトの名無しさん
NGNG0590デフォルトの名無しさん
NGNGp.StartInfo.FileName = 実行ファイルのパス;
p.Start();
で起動したアプリをこのプログラムで終了したいのですが
そのような事は可能なのでしょうか?
0591デフォルトの名無しさん
NGNG0592590
NGNGif (checkBox.Checked)
{
p.Start();
}
else
{
p.Close();
}
としても、何も起こらないんですけど・・・
0593デフォルトの名無しさん
NGNGヘルプを見てみろ、おまえの質問にぴったりのメンバがあるはずだ
0594572
NGNG自分で作ったソフトをexeのファイルをアセンブリなり
バイナリでみてみろよ。ヘッダの情報にディレクトリ構造でるだろ?
てか、おれの言ってること理解できないのかよ?
そうじゃなくて、ファイルをサイトにアップしたのですが
コンパイルした場所からじゃなくて、別のドライブのディレクトリに移動して
そこからうpしたのですが、その別のドライブのディレクトリに
まだファイルがあるってことを指摘されたんです
っていってるだろ。どこからファイルうpしたかは、サイト運営者しか
わからないだろ?それがなんで運営者でもないのにわかるのかって聞いてんだよ
0595デフォルトの名無しさん
NGNGあなたのPCが乗っ取られているかサイトがが乗っ取られているかのどちらか。
0596デフォルトの名無しさん
NGNG> ここにいるやつってその程度の知識なの?
> 自分で作ったソフトをexeのファイルをアセンブリなり
> バイナリでみてみろよ。ヘッダの情報にディレクトリ構造でるだろ?
だってそんなのないんだもの。
唯一>>589の言うとおり/debug+でビルドした時のみ.pdbのフルパスがバイナリに含まれるけど。
0597デフォルトの名無しさん
NGNG判別したいのですが、なにかいい方法は無いでしょうか?
0598在日参政権反対
NGNG>
> そうじゃなくて、ファイルをサイトにアップしたのですが
> コンパイルした場所からじゃなくて、別のドライブのディレクトリに移動して
> そこからうpしたのですが、その別のドライブのディレクトリに
> まだファイルがあるってことを指摘されたんです
>
> っていってるだろ。どこからファイルうpしたかは、サイト運営者しか
はっきりいって、いってません。ほんものの572かはしらんが
0599572
NGNG0600デフォルトの名無しさん
NGNG馬鹿にされて終わる
0602デフォルトの名無しさん
NGNG0603デフォルトの名無しさん
NGNGそれ以上の何を心配してるんだ。w
0604572
NGNGdebugフォルダにあるexeファイルをうpしてしまいました
何か問題ありますでしょうか?
最近始めたので、コンパイルすればそれでいいと思ってたのですが
Releaseに設定しないとダメなんですね。
最近のプログラムって難しいです
0605591
NGNGごめん。上のウソだった。
無理やりヤっちゃいたい時は p.Kill()
優しくしたい時は p.WaitForExit()
>>597
MouseEventArgsのButtonsプロパティで拾えるから
あとはアーダコーダやればOK。
0606572
NGNGリストビューの項目を色分けで表示したいのですが
どうすればいいですか?
htmlの形式でやったほうが一番手っ取り早いですか?
0607デフォルトの名無しさん
NGNGユーザー名も分かる可能性あり。
まだファイルがあるかどうかは当然分からない。
デバッグ版はupしない。
念のためプロジェクトフォルダはユーザー名が含まれる可能性のあるデフォから変えておく。
0608デフォルトの名無しさん
NGNG>>605の補足。
DoubleClickイベントだとただのEventArgsしか取得できないので、
MouseDown辺りを使ってMouseEventArgs.Clicks == 2のときにダブルクリック時の処理を書く。
>>606
> リストビューの項目を色分けで表示したいのですが
> どうすればいいですか?
そのまんまのプロパティがあるだろ……。
0610デフォルトの名無しさん
NGNG『System.Windows.Forms.ListViewItem.ForeColor プロパティ』
とりあえず探してみ
0611610
NGNG0612デフォルトの名無しさん
NGNGありがとうございます。試してみます。
0613572
NGNGそのプロパティならあるんですが・・・
言い方悪かったみたいで
エクスプローラーでいうと
BMPファイルは赤で色反転
テクストは青で反転みたいな感じで
種類によって色分けしたいんですが
0616デフォルトの名無しさん
NGNGListViewItemを自作するしかないわなぁ。
0618610
NGNGListView.ForeColor じゃなくて
ListViewItem.ForeColor だぞ(゚Д゚#)ゴルァ!!
0619デフォルトの名無しさん
NGNGなんだこのスレの伸び方は・・・
0620572
NGNG>594 :名も無き冒険者 :04/09/12 18:19:32 ID:Nw8mXJ5h
>ところで質問。
>PsoBBIdSort.zipとPSO Tranner 1.zipで相変わらず藻前のPCに穴が開いてるのは釣りですか?天然ですか?
肝心のソフトうpしたところ
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/file/1004653717_6/PSO%20Tranner%201.zip
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/file/1004653717_4/PsoBBIdSort.zip
これで穴が空くのがなぜかわかりません。ネットワークに詳しい人いませんか?
また、このラウンジでうpしたのを削除する場合どうすればいいですか?
削除しようにも、パスワードいるらしくてできません
0621デフォルトの名無しさん
NGNG0622デフォルトの名無しさん
NGNGD:\BUCKUP\MYDATA\MYSOFT\C#\test#\PsoBBIdSort\obj\Debug\PsoBBIdSort.pdb
"BackUp" な。綴りはちゃんと覚えないと恥ずかしいぞ?
0624デフォルトの名無しさん
NGNGとりあえず恥さらしってだけ。
どちらにしろこれだけでは何もされないから安心しとけ
0625デフォルトの名無しさん
NGNG0627デフォルトの名無しさん
NGNG結果こうやってパスが漏れたわけだし。
0628デフォルトの名無しさん
NGNG> そうじゃなくて、ファイルをサイトにアップしたのですが
> コンパイルした場所からじゃなくて、別のドライブのディレクトリに移動して
> そこからうpしたのですが、その別のドライブのディレクトリに
> まだファイルがあるってことを指摘されたんです
0630デフォルトの名無しさん
NGNG移動先のディレクトリでコンパイルし直したのをあげた予感
BackUp フォルダでコンパイルすることって……よくあることなのか?
0631デフォルトの名無しさん
NGNGこれはどこのレスで指摘されたの?
0632デフォルトの名無しさん
NGNG最初はコンパイルした場所から、次に別のドライブで
>>520 の「相変わらず」に繋がるわけだろう。
気にするほどのことでもない。
0633572
NGNG>>620の分を読んでセキュリティに穴が開いてるのかと思い
そうすると、WEBサイトから何かしら情報抜き出して
おれのパソコンに繋げてきてるのかと思って
うpしたディレクトリみたら、
そのファイルがまだ残っていたので(それ以外は削除したのに)
てっきり、残っているファイルが何かわかっているのだと思ったのです
ネットワーク関連の知識はまったくないので・・
でも、一応、すべてのファイルはアドミニスターしかアクセスできないように
してるので、運営者などに仮にIP特定されてアクセスされても
アップしたファイルにはアクセスできても他のファイルにはアクセスできないはずなのに
早とちりだったのかな。とりあえず、これで安心して眠れます
0634デフォルトの名無しさん
NGNG0635572
NGNGBACKUPフォルダにあるファイルは1週間ごとにDVDRAMにバックアップ取ってるので
そういう意味で付けました。消えては困るファイルだけをそこに・・・
このソフトはどうでもよかったのですが、面倒だったので、そのままそのディレクトリで
コンパイルしてしまってました。
みなさん、やさしいですね><ほんと、助かりました。ありがとうございます
0636デフォルトの名無しさん
NGNG0637デフォルトの名無しさん
NGNG揚げ足を取るようで申し訳ないが“アドミニストレータ” (^^
0638デフォルトの名無しさん
NGNG0639デフォルトの名無しさん
NGNGそういうのがマイドキュメントでビルドしたら、いい恥晒しになるかもしれんね。
0640デフォルトの名無しさん
NGNG人の名前を笑っちゃあかんだろw
本名晒したことは笑えるが
……どちらにしろリリースビルドすれば大丈夫だよね?
0641デフォルトの名無しさん
NGNG>無理やりヤっちゃいたい時は p.Kill()
>優しくしたい時は p.WaitForExit()
うんむ〜。
WaitForExitはやさしくやるとかそういう問題ではないが…
通常のウィンドウのあるアプリならCloseMainWindow。ただし終われるとは限らない。
ウィンドウのないプロセスは通常強制終了(Kill)するしかない。
0642デフォルトの名無しさん
NGNGってことはやっぱり他スレッドからInvalidateを呼んではいけないんでしょうか?
私はてっきりWndProcにWM_PAINT投げるだけかと思っていたんですが。
>>536のサイトも見たのですが、BeginInvokeで問題ないんでしょうか?
0643デフォルトの名無しさん
NGNG疑問に思ったらILDASM。
結構いろいろやってるもんだな。
> >>536のサイトも見たのですが、BeginInvokeで問題ないんでしょうか?
うん、それでOK
0644デフォルトの名無しさん
NGNGWeb製作板探してみたんですが、見当たらないのでこちらで失礼します。
ADO.NET C#でSQL ServerにViewを作成しようとしています。
System.Data.OleDb.OleDbCommand command = new OleDbCommand();
command.CommandText = @"CREATE VIEW [search_view] AS SELECT * FROM [ddb].[msg_tb]" + @" WHERE [comment] LIKE ?";
command.Parameters.Add( "@comment" , System.Data.OleDb.OleDbType.VarChar , 1000 , "comment" ).Value="%test%";
command.Connection = this.connection;
System.Data.OleDb.OleDbDataAdapter adapter = new System.Data.OleDb.OleDbDataAdapter( command );
adapter.Fill( myDataSet.msg_tb );
SQL文についてはクエリアナライザで問題なく動作することを確認しております。
しかしコード中で実行すると「キーワード 'VIEW' 付近に正しくない構文があります。 」と例外で出てしまいます。
色々と試して見ましたが、WHERE 以下の文字列を削除すればViewは作成されます。
そしてcommand.Parameterを使用して文字列(LIKE ?部分)を追加するのではなく、?部分を直接文字列%test%」にすると正常動作します。
どうすれば解決できるでしょうか。よろしくお願いします。
0645デフォルトの名無しさん
NGNG0646デフォルトの名無しさん
NGNG毎回、Color.Redとか名前で指定するのが面倒なので・・
0647デフォルトの名無しさん
NGNG順番ってなんじゃろ?
0648デフォルトの名無しさん
NGNG.NETやると同じ責め苦を味わう羽目になるんでしょうか?
0649デフォルトの名無しさん
NGNGColorクラスでリフレクションしても出来るが、この方が楽。
つーかヘルプにしっかり書いてるだろ・・・
お前が言うところの「順番」を満たしているかは知らん。
foreach (string s in Enum.GetNames(typeof(KnownColor))) orz(Color.FromName(s));
0650デフォルトの名無しさん
NGNG>いぜん、なかの、終える
落ち着いて書け。
>同じ責め苦
どういう責め苦なんざんしょ。
0651590
NGNG>>605 >>641 レスありがとう。
p.CloseMainWindowは前に試したときは動かなかったのですが、
書き込みを見て再度見直したところ、とりあえず終了する事は出来ました。
でもこれって直前のプロセスを終了するだけみたいですね。
ラウンチャみたいなのを作っていて、
まとめて起動したのを、まとめて終了したいなと思いました。
パスを指定して終了とか出来れば良いんですけど、それは無理みたいですね。
むー。
0652デフォルトの名無しさん
NGNG> でもこれって直前のプロセスを終了するだけみたいですね。
> ラウンチャみたいなのを作っていて、
> まとめて起動したのを、まとめて終了したいなと思いました。
ProcessインスタンスをArrayListなりで保持しておいて必要な時にforeachで纏めて殺せば良いだけでは?
> パスを指定して終了とか出来れば良いんですけど、それは無理みたいですね。
Process.GetProcessesByName静的メソッドとかあるよ。
0653デフォルトの名無しさん
NGNG.configファイルから値を取得するメソッドは見つかりましたが、値を設定するメソッドが見当たりません。
どうすればプログラムから値を設定することができるのでしょうか。
0654デフォルトの名無しさん
NGNGttp://ukamen.hp.infoseek.co.jp/Programming1/DynamicProperty/index.htm
.configの捉え方がちと違う?
0655在日参政権反対
NGNGすまんそ...
以前MFC使ってて、バグった時に中のソースまで追えるのが好きだったんですが、COMで切れそうになりました ですじゃ...
ADOをMTSで使ってたときですが、呼び出しの中ですっ飛んで、”一般的なエラー”とか原因不明なエラーをだしやがって、中まで追えず、原因わからずきれそうになった経験が.
..
0656デフォルトの名無しさん
NGNGari-
0657デフォルトの名無しさん
NGNGローカル変数sをスコープで宣言することができません。
for文で色を列挙していきたんですが
0658デフォルトの名無しさん
NGNGstring[] col=Enum.GetNames(typeof(KnownColor));
Color.FromName(col[1]);
これでいけましたありがとう
0659653
NGNGこれで合ってます。それで、
このサイトではconfigファイルを直接編集して値を書き換えているみたいですが、
値の書き換えをレジストリの設定のようにプログラム内から行いたいんです。
0660デフォルトの名無しさん
NGNGこれかな?
http://ukamen.hp.infoseek.co.jp/Programming1/DynamicProperty/index.htm#SEC6
0661524
NGNGとやった後、 FS.Close(); してしまうと、
その後の IMG.Save() でエラーがでるということがわかりました。
これはどういうことなんでしょうか?
Image.FromStreamでIMGを作った時点で、
もうFSは関係ないのではないかと思っていたのですが…。
IMGはFSが指すファイルへの参照でしかないということですか?
0662デフォルトの名無しさん
NGNGascxファイルを作るとき、テスト用のaspxファイルに
「<%@ Register TagPrefix="uc1" TagName="header" Src="header.ascx" %>」
と記述して、aspxファイルと同じフォルダに入れてテストしてました。
うまくいったので、他のaspxファイルでもheader.ascxを共有して使おうと思い、commonフォルダを上に作って
「<%@ Register TagPrefix="uc1" TagName="header" Src="..\common\header.ascx" %>」
としました。
そしたら
「解析エラー メッセージ: 仮想パス '/common/header.ascx' がほかのアプリケーションに割り当てられていますが、これは許可されていません。」
というエラーが出てしまいます。
ascxファイルはどうやって共有するのでしょうか?
0663653
NGNGその辺りです。例えば、
System.Configuration.ConfigurationSettings.AppSettings["Form1.Icon"] = "hoge.icon";
のようにしたいんですけど、プロパティはgetだけしかないのでできないんですよね。
他にいい方法があると思うんですけど。
0664デフォルトの名無しさん
NGNG.NET 2.0ではそんな感じでできるけど1.xではない。
xmlシリアル化とかその辺に転がってるセッティング用のクラス使われたし。
0668デフォルトの名無しさん
NGNGありがとうございます
ところでBeginInvokeはただコントロールを所有するスレッドに処理を渡すだけですよね?
ということは、メインスレッドでフォーム、ラベル、ボタンを作った場合、
Form.BeginInvoke(delegate)
label.BeginInvoke(delegate)
button.BeginInvoke(delegate)
のどれでもいいってことでしょうか?
0669デフォルトの名無しさん
NGNGあれを使えばスキンが作れそうだったけど、上の制約で困ってます。
なにか良い方法はありませんか?
0670デフォルトの名無しさん
NGNG.configにこだわらなければ良いんでない?
読込部分を作る必要はあるが、それはたいした手間でもなし。
一番手っ取り早いのは適当なクラスを作ってXmlSerializerで読み書きすることかな?
>>668
そういうことになるね。
0671デフォルトの名無しさん
NGNGまあ、デバッガ使うのに慣れておいたほうがいいかも。
0672デフォルトの名無しさん
NGNGflatスタイルにしたら背景色が変わってしまって困っています。
0673デフォルトの名無しさん
NGNGこれってリストにアイテムが追加された時点で動作するんですね
Items.Addで項目追加した後に、SubItems.Addしようとすると
エラーはでないのですが、ちゃんと思ったように項目追加できません
一応。一旦SortOrder.Noneにしてからアイテム追加して
その後ソートするって方法を取っていますが
ほかによい方法ありますでしょうか?
0674デフォルトの名無しさん
NGNG俺も引っかかったことがある。
俺の場合、Saveじゃなくて、ImageAttributesを使っての描画で落ちた。
ストリームから作成した画像の場合、使い終わるまでそのストリームは閉じてはダメみたいなことを
どっかで読んだ記憶があるがソースは忘れた。
0675デフォルトの名無しさん
NGNG> エラーはでないのですが、ちゃんと思ったように項目追加できません
思ったようにって、どういう動作を期待して、
実際には具体的にどういう動作になるのさ。
0676デフォルトの名無しさん
NGNGこれができない人が本当に多いよね。
(で、順を追って説明させてみると自己解決してしまったり)
0677デフォルトの名無しさん
NGNG念に反応する入力デバイスの不良が考えられる。
早く修理に出すべきだ。
本人も書いてるけど、一応解決してるんじゃない?
0679デフォルトの名無しさん
NGNGすべてのコントロールを読み込んでから
表示する方法ってどうしたらいいのでしょうか?
コントロールを貼り付けていくと、フォームを表示した時に
読み込んでる感がたっぷりでちゃうんですが・・・
0680デフォルトの名無しさん
NGNGFormにControl.Addしてから表示してるわけだし。
0681デフォルトの名無しさん
NGNGそういう場面に出会ったことないけど、イベントハンドラでコントロールを
生成してるの?
それか、やたらコントロールが多いとか?
0682デフォルトの名無しさん
NGNGWindowsサービスへの登録、解除を行うにはどうすればよいでしょうか?
ユーザーモードとサービスモードを
オブションから切り替えるような形にしたいのです。
0683679
NGNG遊びで100個ぐらいテキストボックスとラベルくっつけてみたら
もっさり感がいっぱいなので、
どうにかならないものかなぁって・・・
こんな事はやらないが正解かなぁ・・・
0684デフォルトの名無しさん
NGNGちょっとだけ早いかもしれないね。
レジストリを自分で書き換える。
hogehoge.reg というファイルを作ってダブルクリックとか。
---- cut here ----
REGEDIT4
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\サービス名]
"パラメータ名"=dword:値
"パラメータ名"=dword:値
"パラメータ名"=dword:値
---- cut here ----
0687デフォルトの名無しさん
NGNG起動後に再描画させてみる(他のウィンドウをかぶせてみるとか)と
生成なのか描画なのか切り分けができそう。
0688682
NGNGありがとう。だいたいできました。
DisplayName = サービス名
ImagePath = 実行パス /必要なら引数
Start = スタートアップの種類 ( 2 = 自動、3 = 手動、4 = 無効 )
Type = よくわからないけど他のを真似てみる
ErrorContro"= よくわからないけど他のを真似てみる
ObjectName = ログオンアカウントっぽい?( LocalSystem = ローカルシステムアカウント )
Description = サービスの説明
まだ他にも色々よくわからない値がありましたが、
このくらいやればとりあえず動くっぽいのを確認しました。
0689デフォルトの名無しさん
NGNGmainMenuを追加しても、実行時に見えなくなってしまいます。
編集時でも、フォームを選択して、mainMenuのフォーカスをはずすと
見えなくなってしまいます。
これって、どうすれば解決できますか?
宜しくお願い致します。
0690デフォルトの名無しさん
NGNG0691デフォルトの名無しさん
NGNG0692デフォルトの名無しさん
NGNGそんなことせーへんでもマイドキュメントの参照先を変えればいいだけなのにw
0693デフォルトの名無しさん
NGNG0694デフォルトの名無しさん
NGNG0695デフォルトの名無しさん
NGNG最小化したり最大化したり、タスクバーから消したりしたいんですが、どうしたらいいですか?
0696デフォルトの名無しさん
NGNGウィンドウにメッセージを送れ
0697デフォルトの名無しさん
NGNG0698デフォルトの名無しさん
NGNG別にC#でも出来ないわけじゃないんですよね?unmanagedじゃないとできないわけでも無いですよね?
0699デフォルトの名無しさん
NGNGなんかエラそうに見えるな・・・
0700デフォルトの名無しさん
NGNG0701デフォルトの名無しさん
NGNG//真っ当じゃないと思うが動作してしまう。
0702デフォルトの名無しさん
NGNG(Windowsフォームが内部でCOMを使ってるからですよね?)
あるスレッドの作ったBitmapなどのオブジェクトも他スレッドからいじってはいけないのでしょうか?
今のところ不具合は出てないのですが、不安です。
0703在日参政権反対
NGNGスレッドを使ってはいけないのはMFCのときも同様で、それはWindowHandleとMFC内部の管理オブジェクトとの関連付けでおかしくなる可能性があったため(うろ覚え)
.NETの場合は知らないけれど、多分同じようなものなのでは?そういう意味ではBitmapなどについてはある処理についてはスレッドセーフかもしれないけれど。
0704デフォルトの名無しさん
NGNGありがとうございます
VBからC#に来たので、あまりWindowsの内部についての知識がなかったもので戸惑いました。
ということはMFCでCBitmap(でしたよね?)がスレッドセーフなのかどうか調べればよいのでしょうか?
0705デフォルトの名無しさん
NGNGスレッドセーフと、「コントロールは他のスレッドからアクセスしてはいけない」は微妙に違ったり
MSDN あたりに書いてあるんじゃないかな?
0706デフォルトの名無しさん
NGNGスレッドセーフの意味を履き違えていました。
MSDNには、MFCはオブジェクトレベルでの安全性を保証していないので
複数のスレッドからオブジェクトを共有する場合は同期を取る云々、とありました。
コントロール等の記述は見当たらなかったのですが、
複数スレッドからオブジェクトは共有出来るのではないかと思いました。
COMが絡むのはWindowsフォームだけなのでしょうか?
質問ばかりでスミマセン。
0707デフォルトの名無しさん
NGNGそれなら、C# では lock を使ってオブジェクトを排他制御すればよし
COMが絡んでも、.NET だとラップされてるから関係ないんじゃないか?
マニュアルのどこかに、特殊な操作を必要とするなら書いてあると思う
冷たいようだが、マニュアルを読めって事なのかな?
0708デフォルトの名無しさん
NGNGMFCの資料だけど原理は一緒。「ウィンドウ ハンドルのマップ」のとこ読んどけ。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vccore/html/_core_Multithreading.3a_.Programming_Tips.asp
0709デフォルトの名無しさん
NGNGApplication.EnableVisualStyles();
としてXPスタイルを有効にするとツールバーのアイコンが見えなくなってしまいます。
どうすればよいのでしょうか。
0710デフォルトの名無しさん
NGNG0711デフォルトの名無しさん
NGNGttp://www.gdncom.jp/general/bbs/ShowPost.aspx?PostID=2916
EnableVisualStylesはバグ多めなのでマニフェスト使えってこった。
0712デフォルトの名無しさん
NGNGオブジェクトを共有することに、Windowフォームコントロールのような特殊な制限があるのかな?と思いまして。
MSDNには、マルチスレッドで他スレッドからコントロールを直接触ると危ないのでBeginInvokeを使う・・・程度しか書いておらず、
ネットで調べたところ、WindowsフォームはCOMを使っているので、
コントロールのオブジェクトがスレッドに関連付けられている、ということまでわかりました。
そこは理解できたのですが、他のオブジェクトはどうなっているのか疑問に思った次第です。
COMの理解が進んでいないのですが、
WordにExcelやBitmapを貼り付けられるのもCOMの技術、という記述を見つけたので、
もしかしたらBitmapもCOMでスレッドに関連付けられたりしてるのかと。
0713712
NGNG>>712の書き込みは見なかった事にして下さい。
>>708
この記述からするにBitmapもスレッドを超えて共有することは推奨されてないようなんですが、
ワーカースレッドがBitmapを作成し、描画を行って、
あるタイミングでメインスレッドがそのBitmapを読み込む、という動作も危ないんでしょうか?
そんなわけないと思うのですが・・。
0715在日参政権反対
NGNG危ないですよ.
逝っておくけれど、メインスレッドとワーカースレッドにはなにも違いはありません.
だからメインスレッドが作ったBitmapにワーカーがアクセスすることが危ないのならワーカーが作った物にメインがアクセスする事もまた危ないのです.
>702
のCOM使ってるうんぬんはたぶん関係ないともいます.というよりCOMは使ってないと思うんですけど...
0716712
NGNG危ないですか・・・
それでもBitmapを共有しなくてはいけないので、
HBITMAPで共有したいと思います。
色々とありがとうございました。
詳しくはわからないのですが、
コントロールのドラッグアンドドロップ機能はCOMを使っているそうです。
Mainの属性に[MTAThread]にするとdllエラーが起こるとかなんとか・・・
違ってたらスミマセン。
0717デフォルトの名無しさん
NGNGGDI+ のオブジェクトはスレッドセーフではない(←複数のスレッドから同時に操作すると危険)のだけれども、
lock や Monitor を使って一度に1つのスレッドから操作する分には安全なので、C# のラッパークラス
(Graphics やら Bitmap)も大丈夫だと思う。
COM オブジェクトに関しては、複数のスレッドから自由に操作してもよいもの (Free Thread) と、
そうでないもの (Single Thread) とがあります。これは COM の作成者がどっちか決めて作る。
>>716
GDI+ のクラスのラッパークラス (Graphics とか Bitmap とか) は、排他制御さえしていれば
別スレッドからメソッドを呼び出しても問題ないと思うけど・・・
0718712
NGNGやはり大丈夫なんでしょうか
MSDNによると「他のコンポーネントと違い、コントロールは作成したスレッドから〜」という記述があるので、
そのまま素直に読めば、他のコンポーネントは作成したスレッド以外からでもいじれるようにも思えました。
今日一日COMについて勉強してみましたが、
STAスレッドのGUIアプリなのに、スレッド間でもオブジェクトの共有が出来てたりするので、
.NETFrameWorkが何かやってるような気がしないでもないです。
.NETとCOMのinteropはおいおい学んでいくとして、
今はこれで納得しようと思います。
皆さんありがとうございました。
0719デフォルトの名無しさん
NGNGアンセーフじゃないと出来ないんですか?
0720デフォルトの名無しさん
NGNGアンセーフじゃないと出来ない。
0721デフォルトの名無しさん
NGNG聞き方が悪かったです。
アンセーフでhpaletteを取得する方法はわかったのですが、
.NETフレームワークのライブラリの中に取得するメソッドはあるのでしょうか?ということです。
私が調べた限りでは見つかりませんでした。
.GetHpalette()とかそんな感じのメソッドがあるといいんですけど。
0722デフォルトの名無しさん
NGNG.NET Framework や .NET Compact Framework の サービスパックや
新しいバージョンのリリース予定,現在のバグ一覧などが見られるサイトは
ありませんでしょうか?
あれば教えてください.おねがいします.
0723デフォルトの名無しさん
NGNGMSDN
0724デフォルトの名無しさん
NGNGお手数おかけして申しわけないのですが,よろしければ
URL をはって頂けませんか?
一番欲しいのはバグ一覧が見たいのですが….
0725デフォルトの名無しさん
NGNGノータッチデプロイとかでどーーーーしても .NET Framework ないでやる必要があるなら、
MemoryStream に BMP で Save して中のヘッダを見ればパレットが取れると思う。
0726デフォルトの名無しさん
NGNGHPALETTE じゃないけど、パレットの色情報ってことね。
0727デフォルトの名無しさん
NGNGlock から出る前に Thread.MemoryBarrier() 呼んだり、あるいは Thread.VolatileWrite 等で書いたり
する必要があるみたいですね。サーバ系AP書いてる人は要注意っぽいな・・・
0728デフォルトの名無しさん
NGNGなんでフォームコントロールは他スレッドからアクセスしちゃいけないんですか?
MSDNにもそう書いてありましたけど理由までは載っていなかったので
0729デフォルトの名無しさん
NGNG別CPUにスレッドが割り当てられるのってどんな場合があるの?
※普通にやっててそうなる?
もちろんそういう状態で動作するんなら考えないといけないだろうけど、
現実に現在の環境で起こり得るのかなって思って。
0730デフォルトの名無しさん
NGNGttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpcondevelopingmultithreadedwindowsformscontrol.asp
言っちゃえばWindowsのフォーム管理の都合、だな。
>>727
む、いつの間にそんなメソッドが。1.1からか。
そういうのこそフレームワーク側で制御してほしいもんだが……。
>>729
スレッド2つビジーにすればあっさりCPU二つ100%になるよ。
つかならなかったら悲しいじゃないか、デュアル以上のシステムが。
0731デフォルトの名無しさん
NGNGう・・・MSDNは大体目を通したつもりだったのですが
すみません。
スレッディングモデルを考えるのはフォームコントロールの部分だけってことですよね?
ということは同じアプリの中にSTAとフリースレッドが混在してたりするんでしょうか。
気付かずに使ってましたけど、結構難しいんですね。
0732デフォルトの名無しさん
NGNG>スレッド2つビジーにすればあっさりCPU二つ100%になるよ。
あら、さいでしたか…
>つかならなかったら悲しいじゃないか、デュアル以上のシステムが。
そりゃそうなんだけど、以前はそういうもんじゃなかったっけ?
0733デフォルトの名無しさん
NGNGカーソルキーのKeyPressイベントを認識してくれません。
これって何かおまじないがいるのでしょうか。
0734デフォルトの名無しさん
NGNG0735デフォルトの名無しさん
NGNGCOM 使う人なら↓この辺も。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconinteropmarshalingoverview.asp
0736デフォルトの名無しさん
NGNG今Socketクラスを使って簡単なHTTPクライアントを作っているんですが、
リクエストをサーバに送ってレスポンスを受け取りますよね?
そのレスポンスがGIFなどの画像ファイルの場合、
どうやって最初にくっついているヘッダー情報を消せばいいんでしょうか?
こんな感じの↓
HTTP/1.1 200 OK
Content-Type: image/gif
Last-Modified: Mon, 22 Mar 2004 23:04:43 GMT
Expires: Sun, 17 Jan 2038 19:14:07 GMT
Server: GWS/2.1
Content-Length: 8754
Date: Fri, 17 Sep 2004 12:18:13 GMT
↑このヘッダーを消さないと画像ファイルとして開けないんです。
0737デフォルトの名無しさん
NGNGHTTP のレスポンスは、
ヘッダ1 <CR><LF>
ヘッダ2 <CR><LF>
ヘッダ3 <CR><LF>
ヘッダ4 <CR><LF>
ヘッダ5 <CR><LF>
<CR><LF>
このあとデータ本体
って感じになってます。
バグったCGIだと、<CR><LF>のどっちか一個(大抵は <LF>) だけしか送ってこないこともあります。
漏れ的には HttpWebRequest 使ったほうがいいと思うけどね。タイムアウトの制御も簡単だし。
0738デフォルトの名無しさん
NGNG0739デフォルトの名無しさん
NGNGバッファリングが適切に効くように Socket をNetworkStream で包んで、ReadByte で
<CR><LF><CR><LF> または <LF><LF> が来るまで読み飛ばせばいいんじゃない?
(注) <CR> ってのは '\r' で、<LF> ってのは '\n' のこと。
0741デフォルトの名無しさん
NGNG0742デフォルトの名無しさん
NGNGバイト配列は変更不可なんだから、MemoryStreamに流し込むあたりか。
適当な手段で位置を特定してあとはArray.Copyとか。
0743736
NGNG文字列なら簡単なんですけど
バイト配列の場合どうやってやればいいんでしょうか?
0744デフォルトの名無しさん
NGNGと元の質問も知らないけど言ってみる
0745デフォルトの名無しさん
NGNGサイズを指定して領域を確保した後、そのサイズ分だけ転送。
特に迷うところはないが。
0746736
NGNGとりあえず色々と試してみます。
どうもありがとうございました。
0747733
NGNG特殊キーはKeyDown、通常キーはKeyPressで処理するようでした。
0748デフォルトの名無しさん
NGNGDirectXの話はそれ用のスレがあるからそっち行った方がいいよ
・・・最近しんでるけど
0749デフォルトの名無しさん
NGNG0750デフォルトの名無しさん
NGNG変数をvolatile付けて宣言してもだめなの?
0751750
NGNGと書いてあったので大丈夫だ。
0752デフォルトの名無しさん
NGNGPaintイベントが無いので描写するのはムリですかね・・。
0753デフォルトの名無しさん
NGNGPanelとButtomで似たようなクラス作るか、
もっといろいろやりたければ、Control継承してシコシコやるかだね。
ちなみに .NET2.0でもBackgroundImageみたいのは追加されてないよ。
0754デフォルトの名無しさん
NGNGToolBarクラスにはBackgroundImageあるよ。
自分で検証してみたところ反映されてないけど・・・。
0755デフォルトの名無しさん
NGNGえ?あったっけ?
Button用のImageListしかなかったような…。
0756デフォルトの名無しさん
NGNG>>754
やはり標準のToolBarではキビシイですか・・。
PanelにButtonを置いて簡単なツールバーに見立てることにします。
ご解答どうもありがとうございました。
0757デフォルトの名無しさん
NGNGLabelやPictureBox下のコントロールなどを透過するには
どうすればいいでつか(´Д`;)?
0758デフォルトの名無しさん
NGNGttp://dobon.net/vb/dotnet/control/labelonpicturebox.html
こういうこと?
0759デフォルトの名無しさん
NGNGなるほどそうすればいいんですね
どうもありがとうございました(´∀`*)
0760デフォルトの名無しさん
NGNG0761デフォルトの名無しさん
NGNG複数の一画面画像を使って画像がスクロールしているようにするには
どうすればいいですかね?
何かいい方法があればご教授くださいませ(´・ω・`;)
0762デフォルトの名無しさん
NGNGBitmap bitmap;
***
using (Graphics g = Graphics.FromImage(bitmap)) { *** }
bitmap.Save(***);
0763760
NGNGウホ!サンクス
0764デフォルトの名無しさん
NGNG画面からはみ出す大きさの画像をスクロールさせて見たいってことかな?
フォームにPanelを配置
PanelにPictureBoxを配置
PanelのAutoScrollをtrue
とすればPictureBoxがPanelより大きいとき
スクロール機能を勝手につけてくれるけど
0765デフォルトの名無しさん
NGNG上記URLのThe Code ProjectのRawSocketクラスを利用して色々いじっているのですが、
当然といえば当然ですが、パケットが分割されて受信されます。
TCP/IP限定でいいのですが、分割されたパケットを結合するためにはどうしたらよいのでしょうか?
一応色々調べてみたのですが『3ウェイハンドシェイク』とかが関係あるのでしょうか?
またTCPなのでパケットの送信順序は保証されると思うのですが、
分割されたパケットを受信してる間に、他のパケットを受信する事はあるのでしょうか?
例えば、
パケットA-1
パケットA-2
パケットB-1
パケットA-3
バケットB-2
・・・・
という具合に。
0766デフォルトの名無しさん
NGNG0767デフォルトの名無しさん
NGNG作れないと思ってたの?
0768デフォルトの名無しさん
NGNGそういうのじゃなくて、キー操作やマウスクリックでスクロールするように
したいのですが、できませんかねえ?
すいません、説明不足でしたorz
0769デフォルトの名無しさん
NGNGKeyDownやらMouseDownに処理を書きたまへ。
0770デフォルトの名無しさん
NGNGJavaの初期って、ガーベジコレクション時の挙動がかなり問題であったかと思いますが、
.NETでもやはりGCが走ると比較的長時間固まってしまうような現象は
発生するのでしょうか?
0771デフォルトの名無しさん
NGNG0772デフォルトの名無しさん
NGNG0773デフォルトの名無しさん
NGNGKeyDownやMouseDownでPictureBoxのTopやLeftプロパティを変えれば
とりあえずいけます。他にももっとうまい方法があるかも
てきとーに書いてみました。>>1のソース置き場の80に置いておきます
とりあえずキー操作だけだけど、どうでしょ?
0774デフォルトの名無しさん
NGNGそんなのマシンスペックに依存するし、稼働状況にもよるから何とも言えん。
ただし、ガベージコレクタが動いたら、まじで固まったように思うよ。
意図的に、呼んでみればわかると思うが。
0775デフォルトの名無しさん
NGNGなるほど、参考にさせていただきます
どうもでしたm(_ _)m
0776デフォルトの名無しさん
NGNGファイルから読み込んだ数値を計算したいのですが(´ω`;)
0777デフォルトの名無しさん
NGNGInt32.Parse()とかConvertクラスとか。
0778デフォルトの名無しさん
NGNG解決しました
ありがとうございました〜(人´∀`)
0779デフォルトの名無しさん
NGNGba-ka
0780デフォルトの名無しさん
NGNGshine
0781デフォルトの名無しさん
NGNGPlayerオブジェクト使いづらい。・・
0782デフォルトの名無しさん
NGNGprivate delegate void hoge();
//スレッド内部の処理
//Form form1 = new Form();
form1.BeginInvoke(new hoge(form1.Refresh), new object[]{});
こんな感じで良いのでしょうか?
処理したいメソッド自体はコントロールのインスタンスを直接しても大丈夫ですか?
0783デフォルトの名無しさん
NGNG聞く前にやってみればいいじゃねえか。
>処理したいメソッド自体はコントロールのインスタンスを直接しても大丈夫ですか?
やってみてエラーや不具合がなければ大丈夫なんじゃねえか。
0784デフォルトの名無しさん
NGNGBeginInvoke って非同期だけど (EndInvoke も要るし)、そこんとこ OK?
デッドロックしないことがわかってるなら、ただの Invoke でいいのでは。
0785デフォルトの名無しさん
NGNG自分で試した限りでは問題なく動くのですがフォームコントロールの他スレッドからの干渉は
必ずしも毎回起こるわけではなさそうなので自信がもてませんでした。
>>784
例えが悪かったです。
呼び出しそのものはInvokeでもBeginInvokeでもどちらでも良かったのですが、
デリゲートに渡すメソッドはコントロールのインスタンスを直接参照してもよいものかわからなくて質問しました。
COMはほとんどわからないのですが、
STAスレッドの考え方からすると、他スレッドから直接コントロール(この場合フォームクラス)のメソッドを参照するのは良くないのかなと。
0786デフォルトの名無しさん
NGNGbutton1.Image=Image.FromFile("File.bmp");
でやっても表示されないのですがなにが駄目なんでしょう?
0787デフォルトの名無しさん
NGNGそれだけじゃなんとも。
まず変更前後の画像が本当に違うものなのかってところから。
0788デフォルトの名無しさん
NGNG変更前はなにも画像はいれてないです
0789デフォルトの名無しさん
NGNGどうしたらいいですか?
0790デフォルトの名無しさん
NGNG不可能
派生クラスでだけでInvalidete()使うだけならnewで隠蔽するとか、Paintイベントを拾うとか別の方法を模索。
0791デフォルトの名無しさん
NGNGスレッドがらみのことでそれはちっときつい。
0792デフォルトの名無しさん
NGNG0793デフォルトの名無しさん
NGNG気にしてるのは「delegate を作る操作自体は安全か?」ってことだと思うんですが、
明示的な記述は無いものの、msdn ドキュメント「スレッドからのコントロールの操作」で
他スレッドのコントロールのメソッドを呼ぶ際に delegate を new しているサンプルが
あるのでOKだと思います(↓の URL)。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vbcon/html/vbtskmanipulatingcontrolsfromthreads.asp
ちなみに素の Win32 API でスレッド(アパートメント)をまたいだインタフェイスのメソッド呼び出しを行う場合には、
785 さんの心配の通りに、まずオブジェクトを所有するスレッドで CoMarshalInterThreadInterfaceInStream しておいてから、
呼び出したいほうのスレッドで CoGetInterfaceAndReleaseStream とかしてインタフェイスを得るという手間が必要になります。
0794デフォルトの名無しさん
NGNGフォームの名前を文字列で持っている状態で
それを用いて、フォームを開く方法はあるでしょうか?
string Form_Name = "Form1";
の状態でForm1を開きたいのです
もし分かる方が居たらご教授願います
0795在日外国人参政権反対
NGNG0796794
NGNGすいません、リフレクションを使えば可能ということですか?
ヘルプを見たのですが、どのようにしたら良いのか
分からなかったのですが…
教えて君で申し訳ないのですが
すいませんが、方法なども教えていただけますか?
0797デフォルトの名無しさん
NGNG0798デフォルトの名無しさん
NGNGSystem.Reflection.Assembly.GetAssembly()
.GetType(Form_Name)
.InvokeMember("", System.Reflection.BindingFlags.CreateInstance, null, null, null);
だったかな?
これで Form_Name のコンストラクタを呼び出してオブジェクトが返る
Form_Name にはネームスペースまで含めないと駄目だったかも
もっと単純に作るなら、Form_Name からの条件分岐で Form1 を直接作れば良い
0799デフォルトの名無しさん
NGNGForm2_Load{}中のコードを実行させるにはどうしたらいでしょう?
なんか初歩的でスマソorz
0800デフォルトの名無しさん
NGNG他から呼び出す部分をpublicなメソッドに纏めたら?
0801デフォルトの名無しさん
NGNG0802デフォルトの名無しさん
NGNG>>792
0803794
NGNGわざわざソースを書いていただき有難うございました。
お蔭様で、考えていた通りの機能を実現する事が出来ました。
本当に感謝です♪
0804デフォルトの名無しさん
NGNG見えないピクチャボックスのImageにBitmapを設定しており、
Visible=trueのピクチャボックスのImageに同じBitmapを設定しています。
見えている方のピクチャボックスを再描画させまくると、
「そのオブジェクトは使われています」というエラーが出ます。
Bitmapを使っているのはこの二つのピクチャボックスだけなので、
原因はVisible=falseの方のピクチャボックスからもBitmapが読み込まれてしまっているのだとわかるのですが・・・。
0805デフォルトの名無しさん
NGNGん〜よくわかんないのですが
結局どうやれば実行できるのでしょう^^;?
0806デフォルトの名無しさん
NGNG0807デフォルトの名無しさん
NGNG├792 >>781
│└802 >>801 >>792
└801 >>781
└806 >>801
0808デフォルトの名無しさん
NGNGそれに答えられる人が MS の開発者以外にいるかな・・・
0809デフォルトの名無しさん
NGNG800 氏じゃないけど、多分こうするんだと思う
private void Form2_Load(object sender, EventArgs e) {
Form2_Load_Main();
}
public void Form2_Load_Main() {
// ここに処理を書く
}
Form2 が普通にロードされたときには Form2_Load 経由で Form2_Load_Main が呼び出される
自力で実行させたい場合には Form2_Load_Main を直接呼び出す
メソッドの名前は自由に変えておくんなまし
0810デフォルトの名無しさん
NGNGおかげさまで直接呼び出せるようにはなったのですが、ロード時がよくわかんないのですが
Formがロードされたとはどうゆう状況なのですか?
Show()で表示させただけではだめなのでしょうか?
0811デフォルトの名無しさん
NGNG0813デフォルトの名無しさん
NGNG0814809
NGNGMSDN に「フォームが初めて表示される直前」と書いてあったんだから
俺は M$ を信じるが……どうなんだろうか
初めて表示される直前に WM_CREATE されるんじゃないの?
Win のメッセージと .NET の関連はよくわからん
0815デフォルトの名無しさん
NGNGが、一度フォームが表示されたあとでWM_SHOWWINDOWを投げても
Loadイベントは呼ばれないのでやっぱり「フォームが初めて・・・」が正しいんじゃないかと
原理はよくわからん
0816デフォルトの名無しさん
NGNG'System.Runtime.InteropServices.COMException' のハンドルされていない例外が mscorlib.dll で発生しました。
追加情報 : 致命的なエラーです。
となってしまいます。
たしかに、このOCXは.NET対応となってはいないのですが、なんとかして
対応することはできるものなのでしょうか。
ちなみにEleganTalkという音声合成OCXです。
最悪VB6でラップすることになりますが、できれば統合したいんで
探し方の手がかりをいただけないでしょうか。
よろしくお願いします。
0817デフォルトの名無しさん
NGNGって、一体どんな意味なんですか??
一体なんて読むんですか??
これが分からなくて朝も起きれません。どなたか教えてください。
0818デフォルトの名無しさん
NGNG0819デフォルトの名無しさん
NGNG使わない領域はいちいちデストラクトしないといけないの?
0820デフォルトの名無しさん
NGNG使わない領域ってなにさ。
Disposeでデストラクトされるとでも?
0821デフォルトの名無しさん
NGNG0822デフォルトの名無しさん
NGNGマイクロソフトコーポレーションのライブラリの様な気がする
気がするだけ
>>819
ファイナライザから Dispose は呼ばれるかもしれない気がする
気がするだけ
だけど使い終わったらちゃんと Dispose はしといたほうが良い気がする
面倒だったら using ブロック使え
0823デフォルトの名無しさん
NGNG気がするだけ
0824デフォルトの名無しさん
NGNG0826デフォルトの名無しさん
NGNG~F()
{
this.Dispose();
}
public void Dispose()
{
// なにか適切なDisposeらしい処理
GC.SuppressFinalize(this);
}
0827デフォルトの名無しさん
NGNG確定的破棄は下のコードを覚えてしまうのが吉。
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
void Dispose(bool disposing)
{
if (!this.disposed)
{
if (disposing) { マネージドの資源を破棄。 }
アンマネージドの資源を破棄。
}
disposed = true;
}
~クラス()
{
Dispose(false);
}
0828デフォルトの名無しさん
NGNGスレッドセーフの確保も必要だな。
0829デフォルトの名無しさん
NGNGこの際勉強するか。
0830デフォルトの名無しさん
NGNGオーバーライド&呼び出しできるようにしとくのがパターン。
0831デフォルトの名無しさん
NGNG一時的にint型からstring型に変換する方法はありますか?
0832デフォルトの名無しさん
NGNG0833デフォルトの名無しさん
NGNG一時的?
ToString()メソッドを使えばよかろう。
0834デフォルトの名無しさん
NGNGなるほど、うまくいきました
どうもでした〜
0835デフォルトの名無しさん
NGNGおまえバカだろ?
0836デフォルトの名無しさん
NGNG0837デフォルトの名無しさん
NGNG0838デフォルトの名無しさん
NGNG実際のループはラップされて見えない。
0839デフォルトの名無しさん
NGNGSystem.Windows.・・・ や System.Forms.・・・、でいいような気がするんですが。
それに、System.Windows 直下に位置する型は存在しないんですし。
Microsoft.Win32 とかもあるんだから、Microsoft.Windows.・・・とかに全部
まとめてくれるのもきれいだと思うんだけどなあ。
0840デフォルトの名無しさん
NGNGそーゆーのはチラシの裏にでも書け
0841デフォルトの名無しさん
NGNGWinFX/Avalonで拡張されるから。
ttp://pc.watch.impress.co.jp/docs/2003/1031/kaigai040.htm
0842デフォルトの名無しさん
NGNG0844デフォルトの名無しさん
NGNG何で Windows が System 配下なんだよと思った。
Windows 何だから Microsoft.Windows だろよと。
長いのは別に1回 using するだけだからいいんじゃないの?
0845デフォルトの名無しさん
NGNGここで
> const は protected や public にすると、バージョン互換性が薄れる
とかかれてますがどういうことでしょうか?
0846デフォルトの名無しさん
NGNGのように、AxWebBrowser で
<DIV class="file" path="c:\ほげ.jpg">ほげ.jpg</DIV>
の上をマウスが通過するとき(onmousemove)に画像の Panel が出現して
離れたら消えるようなコードを書いているのですが、
ひとつ問題が起こって困っています。
ポップアップのPanelを何回も出現させたり消したりしてると
そのうち AxWebBrowser コントロールからイベントが飛んでこなくなるのです。
べつに onmousemove だけじゃなくて oncontextmenu とかも飛んでこなくなります。
これはどうしてこうなるのか、どうすれば直るのか、教えてください。
0847デフォルトの名無しさん
NGNGconstはコンパイル時にその値が直接埋め込まれてて
public constな値が変わってもその値を使ってるほうも全てリビルドしないといけないような予感。
Javaはそれでどうしようもなかったが、C#はreadonlyがあるのが嬉しい。
0848デフォルトの名無しさん
NGNG0849デフォルトの名無しさん
NGNGおおthxなるほどです。
さて、修正するか・・・
0850デフォルトの名無しさん
NGNG0851846
NGNGC# で解決できなかったのが悔しいなぁ・・・。
0852デフォルトの名無しさん
NGNG良いのですか?
0853デフォルトの名無しさん
NGNGどんなデータを渡したいのかによって変わってくる。
0854852
NGNGデータが出る様にしたいのです。
0855デフォルトの名無しさん
NGNGその場合は、
Form2を生成、ShowDialog()し
Form2のDialogResultに応じてForm2上のテキストボックスの文字列をreturnする
staticな関数を作る。
0856デフォルトの名無しさん
NGNG互いに依存しない形になるので、将来別のクラスでも
利用しやすくなる。
0857852
NGNG0858在日外国人参政権反対
NGNGなんかやな解決法だな...
C#ならイベントとか使うようにしたほうがきれいな希ガス
0859デフォルトの名無しさん
NGNG0860デフォルトの名無しさん
NGNG将来別のクラスでも 利用しにくくなるけど。
0861デフォルトの名無しさん
NGNG/* Form2 */
public string TextBoxValue{
get {
return this.textBox1.Text;
}
set {
this.textBox1.Text = value;
}
}
/* Form1 */
protected void button1_Click(object sender; EventArgs e){
using(Form2 f2 = new Form2){
f2.TextBoxValue = this.label1.Text;
if(f2.ShowDialog(this) == DialogResults.OK){
this.label1.Text = f2.TextBoxValue;
}
}
}
とかにしとけ。
0862デフォルトの名無しさん
NGNGクラス同士がべったりだな。
0863デフォルトの名無しさん
NGNGき、汚ねえ・・・
0864デフォルトの名無しさん
NGNGど素人かよ
0865デフォルトの名無しさん
NGNG久々の糞ソースだな
0866デフォルトの名無しさん
NGNG初心者にしても酷いな
0867デフォルトの名無しさん
NGNG動けばいいっつうもんじゃないんだぞ
0868デフォルトの名無しさん
NGNG(/><)/ ヒィ
0869デフォルトの名無しさん
NGNG初心者ならあんなもんだと思うよ。
0870デフォルトの名無しさん
NGNG( ´д)ヒソ(´д`)ヒソ(д` )
0871デフォルトの名無しさん
NGNGもちろんネタだよな?
0872デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/prog/1092058090/
0873デフォルトの名無しさん
NGNGお前のためにあえて言う
「お 前 に は む い て な い」
0874861
NGNG0875デフォルトの名無しさん
NGNGばーか
0876デフォルトの名無しさん
NGNG0877853 ◆cReQ1pJtI.
NGNGpublic class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Button button1;
private void button1_Click(object sender, System.EventArgs e)
{
string l_sText = label1.Text;
if (Form2.GetForm2Text(ref l_sText, this))
{
label1.Text = l_sText;
}
}
}
0878853 ◆cReQ1pJtI.
NGNGpublic class Form2 : System.Windows.Forms.Form
{
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Button button1;
static public bool GetForm2Text(ref string a_sText, IWin32Window a_IWin32Window_Owner)
{
Form2 l_Form2 = new Form2();
l_Form2.textBox1.Text = a_sText;
if (l_Form2.ShowDialog(a_IWin32Window_Owner) == DialogResult.OK)
{
a_sText = l_Form2.textBox1.Text;
return true;
}
else
{
return false;
}
}
public Form2()
{
InitializeComponent();
button1.DialogResult = DialogResult.OK;
}
}
0879853 ◆cReQ1pJtI.
NGNG細々した処理をまとめてちょっと便利にしただけって感じか。
0880861
NGNG0881853 ◆cReQ1pJtI.
NGNGん?なんで当たり前?
0882デフォルトの名無しさん
NGNG0883853 ◆cReQ1pJtI.
NGNGOKボタンを押しても反映するだけで閉じない仕様なら、
そういうこともしたくなるね。
0884デフォルトの名無しさん
NGNG0885858
NGNG0886デフォルトの名無しさん
NGNGプロパティとして出しているので,特にたたかれるような内容では
ないと思うのですが,このコードのどこが糞で,どうするべきなのか
まじめにわからないので,どなたかマジレス願えませんか?
あー,釣りじゃなくてマジなので,本当によろしく.
0887デフォルトの名無しさん
NGNG0888デフォルトの名無しさん
NGNG>特にたたかれるような内容では ないと思うのですが
おまえは、コードと言えばその一点しか見ないのか・・・
もうね、アボガドだな。
0889在日外国人参政権反対
NGNGきたないだけで、>877と本質は何も変わりません.
0890デフォルトの名無しさん
NGNG横書き文の句読点について
ttp://www.remus.dti.ne.jp/~ddt-miz/think/comma.html
0891デフォルトの名無しさん
NGNG一人が言ってるだけなのでいちいち相手にすることは無い。
0892886
NGNG>> 888
すまん.本当にわからんのだが,「何が」そんなに「汚い」?
みんなが叩いている「汚い」の基準がわからんのです.
0893デフォルトの名無しさん
NGNG昔はもっと上品だったはずだけどな
C#の将来と自分の人生の将来をフィードバックしてるせいなのか
0894デフォルトの名無しさん
NGNG0895デフォルトの名無しさん
NGNG0896886
NGNG0897デフォルトの名無しさん
NGNG本質がどうあれ、日本語は「、」と「。」で記述する言語だからです。
0898デフォルトの名無しさん
NGNGダイアログならあんなもんでいいんじゃないの?
ちゃんとプロパティにしてあるから、仕様と実装の分離もできてるし。
>>878にあるようにユーティリティ関数化するのも手だけど、その場合漏れなら
Form2.GetForm2Text()って感じじゃなくて、UI.Dialogs.AskText() とかそんな感じに
form とは別のユーティリティクラスに入れるけど。
0899デフォルトの名無しさん
NGNG>>890
0900デフォルトの名無しさん
NGNG0901デフォルトの名無しさん
NGNGあの機能のフォームなんてあんなもんだろ?
まずいところを具体的に上げろ。
念のため、Form2って名前とか言うなよ…
ってかそこまでたたかれてる理由がマジで分からん。
0902デフォルトの名無しさん
NGNG0903853 ◆cReQ1pJtI.
NGNG> >>878にあるようにユーティリティ関数化するのも手だけど、その場合漏れなら
> Form2.GetForm2Text()って感じじゃなくて、UI.Dialogs.AskText() とかそんな感じに
> form とは別のユーティリティクラスに入れるけど。
ダイアログを別のプロジェクトに持って行くときに1ファイルだけで済むとラクなので。
共通ソース群をまとめて持って行っちゃうならこれもメリットあるね。
0904デフォルトの名無しさん
NGNG0905853 ◆cReQ1pJtI.
NGNGForm2を提供する側としては、利用者になるべく少ない
思考(コード量)で済むように設計するのが望ましい
っていう程度の話じゃないかな。
それにあの妙な数の煽りは1人でやってんでしょ?
0906デフォルトの名無しさん
NGNGおれが簡単に説明してやろう
↑のようなことするぐらいなら、てっとり早いのが、TextBox自体をpublicにすればいいんだよ
0907デフォルトの名無しさん
NGNGこのコードだと
using(Form2 f2 = new Form2){
この部分が実行できない。
Form2ってなんですか?って警告されるぞ
Form2のインスタンス生成する場合はクラスの先頭で宣言しないとな
そんなことも知らないとはなさけない
0908デフォルトの名無しさん
NGNGそれはちょっと...
まぁどこまでやっつけするかなんだけれど、自分なら
Form1はForm2がダイアログであること、成功したときにファイルネームがセットされるとするなら
class Form2{
string GetFileName();
string SetFileName();
};
として>861みたいにTextBoxの存在を意識させない。そんなことはForm1はしらないでいい。
>877はダイアログの処理までForm2内に隠蔽されてしまってるので、使う側でコントロールできずつかいずらい時がでると思われるからやらない
とまじれすしてみる
0909デフォルトの名無しさん
NGNGC++とC#の仕様を混同しているお馬鹿がいますよ。
0910デフォルトの名無しさん
NGNGおまえはC#より日本語勉強しろ
0911デフォルトの名無しさん
NGNG0912デフォルトの名無しさん
NGNG煽りしかできないプログラム初心者かよ(爆
0913在日外国人参政権反対
NGNG0914デフォルトの名無しさん
NGNG0915デフォルトの名無しさん
NGNG0916デフォルトの名無しさん
NGNG>>776-777
>>831-833
0917デフォルトの名無しさん
NGNGあほかおまえ。
0918デフォルトの名無しさん
NGNGlabel1.text="-1"
0919デフォルトの名無しさん
NGNGそうじゃなくて、ラベルtextの数値-1をそのラベルtextに設定しなおしたいのですが^^;
0920デフォルトの名無しさん
NGNG0921デフォルトの名無しさん
NGNG(2) (1)でもとめた数値を-1する
(3) (2)でもとめた値をLabelのtextに代入する
0922デフォルトの名無しさん
NGNGthis.label1.text="-1"
0923デフォルトの名無しさん
NGNGstring s=label1.text;
s="-1";
label1.text=s;
0924在日外国人参政権反対
NGNG0925デフォルトの名無しさん
NGNGlabel1.text=a.ToString();
0926デフォルトの名無しさん
NGNGIntelliSenseがきかないからできないと思い込んでたorz
どうもでした
0927デフォルトの名無しさん
NGNGif(label1.Text == "1")
label1.Text="0";
if(label1.Text == "2")
label1.Text="1";
if(label1.Text == "3")
label1.Text="2";
.
.
.
.
.
if(label1.Text == "69821")
label1.Text="69820";
0928デフォルトの名無しさん
NGNG楽しいのかおまえら?
0929デフォルトの名無しさん
NGNG??
0930在日外国人参政権反対
NGNG楽しいのか?
0931デフォルトの名無しさん
NGNGTextプロパティに+=で追加なら何文字でも追加できるんですが…
で、System.Windows.Forms.RichTextBoxを使えば制限はないので、RichTextBoxで行こうと思ったんですが、
RichTextBoxのスクロールマウスでのスクロールが異常に重いのですが、なにか原因・解決策はないでしょうか?
0932デフォルトの名無しさん
NGNGStringクラスについて学べ
0933デフォルトの名無しさん
NGNG行数がもったいない。
label1.text=(Convert.Int32(label1.text)-1).ToString();
0934デフォルトの名無しさん
NGNGそれだとコンパイルできないな(プゲラ
0935デフォルトの名無しさん
NGNG何故?
0936デフォルトの名無しさん
NGNGTextBoxクラスのAppendTextメソッドではできなくて、Textプロパティに64KB以上のstringを代入するのでは可能な理由が分からなかったです。
もう少しヒントください、お願いします。
0937デフォルトの名無しさん
NGNG~~
0938デフォルトの名無しさん
NGNGappendは一行だから
なんでそkまでappendにこだわるの?
stringでいいじゃん
0939デフォルトの名無しさん
NGNGストリームから受け取り次第、テキストボックスに表示したいです。
なので、textBox1.Text += で行うと、スクロールしてくれないので、Appendにこだわっています。
一回でAppendで追加するのではなく、何文字かずつAppendで追加しようとしています。
for(int i=0; i<15000; i++) textBox1.AppendText("a\r\n");
これをやっても、64KB以上は追加されません。
for(int i=0; i<15000; i++) textBox1.Text += "a\r\n";
だとうまくいきます。
0940デフォルトの名無しさん
NGNGTextBoxのベースであるWindowsのエディットコントロールの制限。
AppendTextはセレクション関係もいじってて、
そのときに0x7FFFより大きい文字数を取得できないメッセージを使ってる。
スクロールなら足した後ScrollToCaret()使うとよろし。
0941デフォルトの名無しさん
NGNG0942デフォルトの名無しさん
NGNGストリームからってんならこうすりゃいいじゃん
StreamReader sr=new StreamReader("test.txt");
textBox1.Text=sr.ReadLine();
0943名無しさん♯
NGNGペース早いっすね。
0944デフォルトの名無しさん
NGNGもまいのスレ立てが一番ペース早いわw
ま、乙。
0945デフォルトの名無しさん
NGNG0946デフォルトの名無しさん
NGNG0947デフォルトの名無しさん
NGNG死滅するから必死なんだろ
0948デフォルトの名無しさん
NGNG0949デフォルトの名無しさん
NGNGif()
{
string s;
}
みたいに、ちゃんとIF内の文が空白で右にずらせないんだけど
みんなどうやってやってるの?
なにかソフト使ってるの?
0950デフォルトの名無しさん
NGNG0951デフォルトの名無しさん
NGNGあり
0952デフォルトの名無しさん
NGNG0953デフォルトの名無しさん
NGNGテスト
0954デフォルトの名無しさん
NGNGなるほど、タブの場合はどうするの?
0955デフォルトの名無しさん
NGNG2chのスクリプトではタブ文字は削除される
0chだとタブ文字をそのまま入力できるけど
HTMLのタブ文字は半角スペースと等価
0956デフォルトの名無しさん
NGNG0957デフォルトの名無しさん
NGNG面倒くさければ全角スペースに置換すれば良い。
ちなみにかちゅ〜しゃのレスポップアップだと を置換してくれないので全角のほうが好きだったり
0958デフォルトの名無しさん
NGNG0959デフォルトの名無しさん
NGNG0960デフォルトの名無しさん
NGNG0961デフォルトの名無しさん
NGNGテスト
0962デフォルトの名無しさん
NGNG0963デフォルトの名無しさん
NGNG0964デフォルトの名無しさん
NGNGHTMLで®というのが®に変換されることもあるので、
出来るなら、半角の&を&に置換するとなお良し
0965デフォルトの名無しさん
NGNGdd
0966デフォルトの名無しさん
NGNGいや、spはなんとなく分かるんだけどさ。
0967デフォルトの名無しさん
NGNG0968デフォルトの名無しさん
NGNG0969デフォルトの名無しさん
NGNG<!ENTITY nbsp CDATA " "
-- no-break space = non-breaking space, U+00A0 ISOnum -->
0970デフォルトの名無しさん
NGNG0971デフォルトの名無しさん
NGNG残念ながら、ちがう。
当たり前のことばかり書いてる厨房ばっかで、なんの役にも立たんスレだ。
0972デフォルトの名無しさん
NGNGそれは949以前にも当てはまることでは
0973デフォルトの名無しさん
NGNGその通りなので君たちはさっさと卒業したまえ。
0974デフォルトの名無しさん
NGNG0975デフォルトの名無しさん
NGNG0976デフォルトの名無しさん
NGNGおれはみみずんからログを探してきてる
0977デフォルトの名無しさん
NGNG0978デフォルトの名無しさん
NGNGまぁ俺は●もち廃人なので関係ありませんが
0979デフォルトの名無しさん
NGNG0980デフォルトの名無しさん
NGNG0981デフォルトの名無しさん
NGNG0982デフォルトの名無しさん
NGNG0983デフォルトの名無しさん
NGNG0984デフォルトの名無しさん
NGNG0985デフォルトの名無しさん
NGNG0986デフォルトの名無しさん
NGNG0987デフォルトの名無しさん
NGNG0988デフォルトの名無しさん
NGNG2001出た当初は結構レスあったのに
みんなどこいったの?
JAVA?DEL?結局どの言語がいいのさ?
0989デフォルトの名無しさん
NGNGとりあえず >>943
0990デフォルトの名無しさん
NGNGこのスレ埋めないんだ?
0991デフォルトの名無しさん
NGNG0992デフォルトの名無しさん
NGNG0993デフォルトの名無しさん
NGNG0994デフォルトの名無しさん
NGNG↓↓後は任せた
0995デフォルトの名無しさん
NGNG0996デフォルトの名無しさん
NGNGそれもがなり
0997デフォルトの名無しさん
NGNGそれもがなり
0998デフォルトの名無しさん
NGNG0999デフォルトの名無しさん
NGNG10001000
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。