トップページ⇒tech
1001コメント308KB

C♯, C#相談室 Part35

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/11/03(金) 03:07:45
(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。

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

過去スレは>>2-5あたり。
※スレタイに「#」を入れても消えちゃうので新スレ立てる人は要注意だ。
0611デフォルトの名無しさん2006/11/27(月) 01:56:43
いきなり横やりスマソ。

mobileでのwebアプリを作るにあたって、DBから値を引っ張ってきてそれを元にmobilelistitemを作成し、selectionlist.items.add(item)してるんだが、通常はこんなことしないんだろうか?

itemの横にcheckboxをつけてそこを選択してから確認ボタンを押すとチェックのついた項目だけ何か操作を行う、といったことがしたいんだが…。
selectionlistに動的にitemを加える作業をすると確認ボタンを押したときにエラーが起こる。indexが不正だというエラーが出る。なんでだろう?
0612デフォルトの名無しさん2006/11/27(月) 03:22:03
>>610
はん、おかしいことにおかしいといったら日本語云々だあ?
たく最近はこんなのばっかだな。
こっちはちゃんと説明してるってのにな。
それともこんな簡単な内容すら理解できん馬鹿だったか。
0613デフォルトの名無しさん2006/11/27(月) 03:24:16
>>611
簡潔におながいします
0614デフォルトの名無しさん2006/11/27(月) 06:29:56
>>612
まだこんなに煽りに過敏に反応する奴がいるのか。
まだまだ捨てたもんじゃないなwww
06154742006/11/27(月) 09:13:01
なおりました。
06164742006/11/27(月) 10:16:59
word2003の再インストールを2回、
word2003の修復を3回、
word2003の再インストール直後のofficeのアップデート1回

これで直りました。
特に、「word2003の再インストール直後のofficeのアップデート1回
」が決め手だったような気がしました。

みなさんも、僕と同じエラーが出たときには、
決して、OSの再インスコなどせずに、
word2003の再インスコなどを試してみてください。

それじゃ、さようなら、ごきげんよう、へけけのけ。
0617デフォルトの名無しさん2006/11/27(月) 11:00:43
>600

一つ質問だが、>600はintとかstringとかを使ってて
「滅させる処理書かないとと構文的にシンメトリーじゃないじゃん」とか
考えてる?
06186112006/11/27(月) 12:39:33
>>613
要するにmobile用のフォームでチェックボックスが使いたいんです。そこでselectionlistを使おうと思ったんだけど、普通これってすでに中に入るitemが決まってるもんじゃん?例えば男と女を選択させるみたいな。

でも今回はそうじゃなくてDBからとってきたものにチェックボックスをつけて選択させたいのよ。
0619デフォルトの名無しさん2006/11/27(月) 15:44:02
Listviewのスクロール位置を取得する事は可能でしょうか?
具体的に言えば、リストを二つ並べて、右側のリストをスクロールさせた際に、
左側のリストも連動してスクロールするようなプログラムを作りたいのですが…
WndProcからスクロールイベントを取得する事はできたのですが、そこで行き詰ってしまいましたm(_ _)m
0620デフォルトの名無しさん2006/11/27(月) 16:37:07
C#3.0は来年末以降らしい(´・ω・`)
0621デフォルトの名無しさん2006/11/27(月) 16:47:20
>>619
ListView.TopItem
0622デフォルトの名無しさん2006/11/27(月) 21:38:56
>>619
インデックス取るだけならLVM_GETTOPINDEX投げるほうが速いかもね。
0623デフォルトの名無しさん2006/11/27(月) 22:44:35
SortedDictionary<string,int> m_dic;
でKeyの長さでソートするようにSortedDictionary<string,int>のコンストラクタに指定したいんですけど
どうすればいいですか?
0624デフォルトの名無しさん2006/11/27(月) 22:52:12
m_
なんてVC++を使っているように思えるが、そんな人にする質問にはとても
思えん
0625デフォルトの名無しさん2006/11/27(月) 23:13:25
IComparer<string> を実装させたクラスを定義すれば良いんだよ
0626デフォルトの名無しさん2006/11/28(火) 00:49:03
ラクダ式ってどうなったの?
0627デフォルトの名無しさん2006/11/28(火) 01:00:29
普通にメソッドのパラメータとかで使われてるぞ
後は private なインスタンスフィールド辺りだな
0628デフォルトの名無しさん2006/11/28(火) 01:01:10
どうなったって訊かれてもなあ。
CLRはフィールドとメソッドの引数が小ラクダ式で、その他は大ラクダ式になってるが。
0629デフォルトの名無しさん2006/11/28(火) 01:13:50
おれマルボロのほうが好きだぜ?
0630デフォルトの名無しさん2006/11/28(火) 01:16:55
俺は巨乳好き
0631デフォルトの名無しさん2006/11/28(火) 01:27:07
>>626
http://www.atmarkit.co.jp/fdotnet/special/pdc2005_02/pdc2005_02_02.html
0632デフォルトの名無しさん2006/11/28(火) 10:22:35
System.Net.Mail.SmtpClientのSendAsyncメソッドなのですが、ヘルプを読むと、
>SmtpException
>SMTP サーバーへの接続に失敗しました。
>または
>認証に失敗しました。
>または
>操作がタイムアウトしました。
とあります。
認証失敗等はともかく、このメソッドでタイムアウトが原因でこの例外が発生することはあり得るのでしょうか?
0633デフォルトの名無しさん2006/11/28(火) 10:41:41
Windows Formsのボタンからバッチ処理を別スレッドで走らせるんですが、
別スレッドで起きた冷害はボタン(元スレ)のcatchでは処理できないですよね。
別スレッドの例外をフォーム側で処理したい(メッセージボックスを出すとか)
のですが、どうしたらいいですか?
0634デフォルトの名無しさん2006/11/28(火) 10:43:35
>>633
Application.ThreadException
0635デフォルトの名無しさん2006/11/28(火) 14:26:36
VisualStudioのようなインテリセンスを持つエディタを実装したいのですが
これを容易にするコントロールなどは標準で提供されているのでしょうか?
0636デフォルトの名無しさん2006/11/28(火) 14:31:30
>>634
なんでもそれで対応出来ると思ってんのか?
0637デフォルトの名無しさん2006/11/28(火) 14:43:38
>>633
スレッド内で発生した例外はそのスレッドでcatchする。
必要なら UI スレッド側のフォームのメソッドをinvokeするとかしてユーザに通知する。
処理完了の通知と何ら変わるトコないですよ。
0638デフォルトの名無しさん2006/11/28(火) 16:09:32
bool受け取るDisposeは不要だと思うのですが
0639デフォルトの名無しさん2006/11/28(火) 16:31:39
>>638
ユーザはtrueを渡して、ランタイムライブラリはfalseを渡すことになっている。
0640デフォルトの名無しさん2006/11/28(火) 16:43:30
Il offre sa confiance et son amour.
0641デフォルトの名無しさん2006/11/28(火) 17:40:35
AxWebBrowserのBeforeNavigate2でpostデータ取得したいんだけど
postDataってどーやれば文字列型に変換できますか?
0642デフォルトの名無しさん2006/11/28(火) 18:03:51
string s = null;
if(e.postData != null)
{
s = System.Text.Encoding.ASCII.GetString((byte[])e.postData);
}
てな具合で文字列に変換できる
0643デフォルトの名無しさん2006/11/28(火) 18:07:07
>>641
642に加えてmime-encodingかURLEncodeかされてると思うんで、
そいつをdecodeして素のbyte[]にしたうえで、適切なencodingで
GetStringする。
0644デフォルトの名無しさん2006/11/28(火) 18:11:32
>>642,643
641です
ありがとうございます
今のところ、アルファベットと数字だけなので642の方法でうまくいきました
日本語使うようになったら643の方法にトライします
0645デフォルトの名無しさん2006/11/28(火) 21:36:37
すいません、デザインパターンの実装例を探していて見つけたのですが、
文中でカタログの例と言っている彼の論理C#コード(脳内コード)をどなたか補完して頂けないでしょうか。
(できれば次のイベントを使った例まで行きたいのですがここでつまづいています)

ttp://vsug.jp/tabid/63/forumid/51/postid/3057/view/topic/Default.aspx
0646デフォルトの名無しさん2006/11/28(火) 22:26:11
>>645
俺はこういう風に理解した。
----

interface IHogeFactory
{
    IHoge CreateInstance();
}

static class HogeCatalog
{
    private static Dictonary<Type, IHogeFactory> catalog = new Dictonary<Type, IHogeFactory>();
    public static IHoge CreateInstance( Type type )
    {
        return catalog[type].CreateInstance();
    }
    public static void Regitster( Type type, IHogeFactory factory ) {
        catalog[type] = factory;
    }
}

class HogeA: IHoge { }

class HogeFactoryA : IHogeFactory
{
    public static HogeFactoryA() { HogeCatalog.Register( typeof(HogeA), new HogeFactoryA(); }
    public IHoge CreateInstance() { return new HogeA(); }
}
0647デフォルトの名無しさん2006/11/28(火) 22:40:43
>>638
ファイナライザでは実行順序が不定のため他のマネージ参照に
触ってはいけないから、ユーザーコードから呼び出されたDisposeと
ファイナライザから呼び出されたDipsoseで処理を分ける必要がある。

C++/CLIでもデストラクタ、ファイナライザはこのパターンを利用して
ILを生成している。雑談だが。
0648デフォルトの名無しさん2006/11/28(火) 22:41:15
最近、C#をはじめたのですが困っています。

一つのFormで2つのBackgroundWorkerをつかっているのですが、
Formでの処理が重ならないように、どこかで同期させたいのですが、
タイミングは手動でとるしかないのでしょうか?

手動でとるにはどのような方法がありますか?
ManualResetEvent などをうまく使うのでしょうか?

どなたか教えてもらえませんか?

0649デフォルトの名無しさん2006/11/28(火) 22:42:31
>>646
その程度ならこれくらいでいいんじゃねーかな。

IHoge CreateInstance<T>() where T : IHoge, new()
{
return new T();
}
0650デフォルトの名無しさん2006/11/28(火) 22:47:01
>>648
Invokeじゃだめなん?
0651デフォルトの名無しさん2006/11/28(火) 22:50:36
>>649
Tをハードコーディングできるなら、直接newするだろ
0652デフォルトの名無しさん2006/11/28(火) 23:07:57
>>649
わろた。
newって書くのとかわんねー
ちなみに
Activator.CteateInstance<T>()
てのが標準であるぞw

0653デフォルトの名無しさん2006/11/28(火) 23:08:35
そもそも BackgroundWorker の(GUI に触れる)イベントでは
処理はメインスレッドで行われるので同時にってことはあり得ない
0654デフォルトの名無しさん2006/11/28(火) 23:16:57
インターフェイスはなんに使うですぅ?
0655デフォルトの名無しさん2006/11/28(火) 23:27:35
インターフェイスに使う
0656デフォルトの名無しさん2006/11/28(火) 23:28:32
C#でメモリマップト(File Mappingモード)は使えますか?
使えるならその方法を教えてください
0657デフォルトの名無しさん2006/11/28(火) 23:30:34
>>654
翡翠石よ

クラスを継承させたりした場合で、必ず呼び出してほしい
メソッドがある場合に、インターフェースを入れると、
コンパイラが警告を入れてくれる。
0658デフォルトの名無しさん2006/11/28(火) 23:31:04
ピンボケ
0659デフォルトの名無しさん2006/11/28(火) 23:36:31
>>657
そんな事初めて聞いたわ
0660デフォルトの名無しさん2006/11/28(火) 23:45:14
warota
0661デフォルトの名無しさん2006/11/29(水) 00:41:14
>>655

多重継承の代わりじゃないのかな?くるみちゃん
0662デフォルトの名無しさん2006/11/29(水) 00:43:50
>>656
Microsoft.Win32.NativeMethods.CreateFileMappingを参考に自前でDllImport汁
0663デフォルトの名無しさん2006/11/29(水) 01:19:39
>>635
やめておけ

エディタって何の編集するするものか知らんが
テキストエディタは相当難しい。
3Dグラフィックのほうがはるかに簡単。
つか、.NETで実用的なテキストエディタを作ることは不可能と思って
間違いない。
0664デフォルトの名無しさん2006/11/29(水) 01:31:33
user.confing の保存場所なんなんだよーう、ちくしょう
SettingProvider から継承して作れって・・・
LocalFileSettingsProvider のタコ!!!

・・・愚痴でした。

みんなは、どうやってる?
アプリケーションの設定保存
0665デフォルトの名無しさん2006/11/29(水) 01:40:37
レジストリ
0666デフォルトの名無しさん2006/11/29(水) 01:47:57
当然脳ミソ
0667デフォルトの名無しさん2006/11/29(水) 07:19:29
>>663 んなこたーない。
0668デフォルトの名無しさん2006/11/29(水) 12:21:17
>>666
壊れたらどうするのよ
0669デフォルトの名無しさん2006/11/29(水) 15:51:22
>>668
サルベージする
0670デフォルトの名無しさん2006/11/29(水) 15:53:34
アプリケーションの設定を保存する
http://dobon.net/vb/dotnet/programing/storeappsettings.html

上のサイトで紹介されているアプリケーションの設定を保持するクラスを、”俺”ライブラリに追加しようとして難儀しています。
各々の静的メソッドとシングルトンであることを基本クラスで定義しておき、これを継承するクラスでシリアライズするプロパティを追加したいのです。
試行錯誤してみましたが、「静的メソッドとシングルトンであること」を基本クラスでうまく定義できなくて行き詰っています。
最近ようやくOOPを意識しはじめたので的外れな質問かもしれませんが、指針についてアドバイス頂ければと思います。
0671デフォルトの名無しさん2006/11/29(水) 16:37:53
つーかシングルトンクラスを継承だと?
その時点で破綻してないか?
0672デフォルトの名無しさん2006/11/29(水) 17:07:36
>>671
Orz
恥の書き捨てで伺いますが、それなら継承後のクラスをシングルトンにするのは如何なものなのでしょうか。
でも、それだと当初の目論見から外れてめんどうになりそうだなぁ。
0673デフォルトの名無しさん2006/11/29(水) 17:14:28
>>672
その程度のシングルトンなら
class MyClass {
 static MyClass _cur = new MyClass();
 static public MyClass Current {
  get { return _cur; }
 }
}
でいいんじゃないか?
何のためにがやりたいのか日本語で普通に説明してみて。
0674デフォルトの名無しさん2006/11/29(水) 17:27:33
>>673
>>670のURLを参考に、「アプリの設定を保持するためのクラス」を作りました。
シリアライズしたいオブジェクトをプロパティに持たせて使います。
シングルトンなのは「設定が複数できるとマズいから」です。

それを使ってみて便利だったので、シリアライズ用のメソッドと、保存する値を書き込むプロパティを別個のクラスにしたいなと思いました。
ここまで書いておもったのだけど、シリアライズ用のメソッドがstaticである必要は特に無いのかもしれません。
派生したオブジェクトについてはインスタンスが複数できるとマズいけど、>>673で頂いたような手法で良いのかも…。
検討してみまふ。どうもありがとうございました。
0675デフォルトの名無しさん2006/11/29(水) 17:42:30
こういうとき、C#3.0ならExtension Methodを使うようになるんだろうな。
0676デフォルトの名無しさん2006/11/29(水) 18:53:41
VSからrichTextBoxにコピペして気付いたけど
VSってRTFでコピーできるんだね。
色がついてて驚いた。
06776642006/11/29(水) 20:46:21
ちなみに俺は670ではありません。

今まで俺Setting的 Singleton 使ってたけど、
.NET Framework 2.0 での System.Configuration.ApplicationSetting が用意されてるから
わざわざ自分でつくるのは、すでに「車輪の再発明」的かな、と思ったです。

Settings.cs のコンストラクタに、this.Upgrade() 入れておけば
バージョンアップの際、結構自動で管理してくれるみたいだし。

ただ、デフォルトの LocalFileSettingsProvider がタコだなーと
バージョンアップした時の、以前の user.config の扱い次第では
自分で Provider 実装か、LocalFileSettingProvider か、
そこまではよくわかってません。

ttp://msdn2.microsoft.com/ja-jp/library/ms181001(vs.80).aspx


# Mono を意識するなら、現時点では
# 俺Setting になるから、これがベストかどうかはわからない
06786562006/11/29(水) 21:00:40
>>662
ありがとう。やっぱりWin32API使うしかないんですかー。
その方法使います。どもども
06796452006/11/29(水) 21:17:51
>>646
レスが遅れて申し訳ありません。補完して頂き大変参考になりました。m(_ _)m
自分は2003なので、多少修正したのと返すクラスがシングルトンでもOKなように
改造しました。一応載せますです。

   public interface IHoge
   {
      void ShowMessage(string str);
   }

   public interface IHogeFactory
   {
      IHoge CreateInstance();
   }

   public sealed class HogeCatalog
   {
      private static Hashtable catalog = new Hashtable();

      public static IHoge CreateInstance( string key )
      {
         return ((IHogeFactory)catalog[key]).CreateInstance();
      }
      public static void Register( string key, IHogeFactory factory )
      {
         catalog[key] = factory;
      }
      private HogeCatalog(){}
   }

0680645(続き)2006/11/29(水) 21:18:15
   public sealed class HogeFactoryA : IHogeFactory
   {
      public static void Register() { HogeCatalog.Register( "A", new HogeFactoryA()); }
      public IHoge CreateInstance() { return HogeA.CreateInstance(); }
      private HogeFactoryA(){}
   }

   sealed class HogeA: IHoge
   {
      private static HogeA myclass = new HogeA();
      public void ShowMessage(string str)
      {
         Console.WriteLine(str);
      }
      public static HogeA CreateInstance()
      {
         return myclass;
      }
      private HogeA(){}
   }

   [STAThread]
   static void Main()
   {

     HogeFactoryA.Register();

     IHoge hoge = HogeCatalog.CreateInstance("A");

     hoge.ShowMessage("ぬるぽ");
         
   }
0681デフォルトの名無しさん2006/11/30(木) 00:37:44
Visual C# 2005のフリー版をつかってるんですが、
これってEclipseのような自動インポート機能ってないのでしょうか?
いちいち
using
を自分で書いていかなきゃだめっすか?
0682デフォルトの名無しさん2006/11/30(木) 00:54:32
スマートタグで using を追加してくれるでしょ
0683デフォルトの名無しさん2006/11/30(木) 00:54:54
自分で発見shift+alt+F10ですか。
0684デフォルトの名無しさん2006/11/30(木) 01:18:32
>>681
Ctrl+スペース
0685デフォルトの名無しさん2006/11/30(木) 01:23:01
>>684
それだと
using
追加知れくれませんでした。
eclipseなら追加してくれるんだけど・・。
0686デフォルトの名無しさん2006/11/30(木) 01:34:43
eclipseにしとけ
0687デフォルトの名無しさん2006/11/30(木) 02:00:34
VSは最初にusingを記述するスタイルじゃなくて、
最初に使うときに型名を明示的に書かせてusingに追加させるスタイルなんだね
0688デフォルトの名無しさん2006/11/30(木) 08:44:20
パスで指定された形にたいしてぼかした影のようなものをつけたいんですがいまいちわかりません。
パスから鋭角を丸める→パスグラディエントブラシ?
0689デフォルトの名無しさん2006/11/30(木) 10:28:28
>>685
ReSharperっつーアドオンいれるとQuickFixでusingの追加できる。
けど、アドオンってことでVS2005 Expressだと無理で、ReShaperも有料だ。
ReSharperいれると、リファクタリングもeclipseレベルにまで拡張される。
0690デフォルトの名無しさん2006/11/30(木) 17:37:21
ソース今印刷したんだけど、印刷のときは表示のときのカラー設定とか一切無視するのね・・・




なんつーか( ゚Д゚)<氏ね!
0691デフォルトの名無しさん2006/11/30(木) 17:53:21
>>690
印刷と表示と色の設定で別々になってるよ
0692デフォルトの名無しさん2006/11/30(木) 18:10:16
>>691
それ設計思想が間違ってるだろう。
0693デフォルトの名無しさん2006/11/30(木) 18:14:05
>>692
画面でみるときには黒背景にしてるやつってたまにいるぞ。
うちの会社にも1人いる。
0694デフォルトの名無しさん2006/11/30(木) 18:37:14
>>692
テキストエディタの設定をコピーする機能があるから問題なし
0695デフォルトの名無しさん2006/11/30(木) 19:21:43
ガベレージコレクションは無効にできないの?
0696デフォルトの名無しさん2006/11/30(木) 19:24:48
仮に無効にできたとしたらメモリ開放できないぞ。
0697デフォルトの名無しさん2006/11/30(木) 19:31:29
>>695
無効にしてどうしたいんだ?
0698デフォルトの名無しさん2006/11/30(木) 19:33:56
ガベレージじゃなくてガベージだぞ。
0699デフォルトの名無しさん2006/11/30(木) 20:01:29
白地の液晶画面だと目が悪くなるよ…
蛍光灯凝視しているようなもの。
黒地に白がベター

印刷は別設定できるほうが絶対優れていると思うが、>>692みたいに
ねじ曲がった奴もいるんだな。
0700デフォルトの名無しさん2006/11/30(木) 22:07:30
黒地に白は見辛くて困る
薄緑地に黒が良い
0701デフォルトの名無しさん2006/11/30(木) 23:53:49
えくりぷちゅは色そのままだお・・・あほかと
0702デフォルトの名無しさん2006/12/01(金) 09:38:10
スレ違いではあるが
当方 CRT で背景 rgb(215,215,215)
結構見易い
0703デフォルトの名無しさん2006/12/01(金) 16:05:00
データベース(PostgreSQL)を参照するデスクトップアプリを作っています。
ユーザIDとパスワードを入力して、ログオンする機能をつけたいのですが、作り方の定石があれば教えてください。ID/Passは両方ともサーバ側で認証を行います。
ちなみに前身のAccessアプリではID/Passテーブルというものが設けられていました。
0704デフォルトの名無しさん2006/12/01(金) 19:32:11
sql serverのだったら本があるんだがな。
ODBC接続の接続文字列変えるだけでいいのかも。
0705デフォルトの名無しさん2006/12/01(金) 22:01:25
以前にPropertyGridの件で書き込んだ者です。
PropertyGridで、項目を展開できるようにしたはいいのですが、その数値変化した時にイベント取得が出来ません。

基本的に、位置は関係なく起こりさえすればいいのですが、ABCの値変化はMyClassChangedが発生しません。
結果、ABC変化は取得できない状況です。この取得は難しいでしょうか?

ソースはこんな感じです。
0706デフォルトの名無しさん2006/12/01(金) 22:04:05
[TypeConverter(typeof(CustomClassConverter))]
public Class Class1
{private CustomClass myClass;
public event EventHandler MyClassChanged;
public Class1()
{ myClass.DataChanged += new EventHandler(Triggar);}
[DefaultValue(0,0,0)]
public CustomClass MyClass
{get{return myClass;} set{ myClass = value; Triggar(); }}
public void Triggar()
{if(MyClassChanged != null) MyClassChanged(this,EventArgs.Empty);}}
public Class CustomClass
{private int a,b,c;
public event EventHandler DataChanged;
public CustomClass(){a = 0; b = 0; c = 0;}
public int A
{ get{return a;} set{a = value; Triggar(); }
public int B
{ get{return b;} set{b = value; Triggar();}}
public int C
{ get{return c;} set{c = value; Triggar(); }}
public void Triggar()
{if(DataChanged != null) DataChanged(this,EventArgs.Empty);} }
0707デフォルトの名無しさん2006/12/01(金) 22:12:01
こんなに汚いソースは久しぶりだ
0708デフォルトの名無しさん2006/12/01(金) 22:12:19
Class1 のコンストラクタを呼んだらヌルリの予感
0709デフォルトの名無しさん2006/12/01(金) 22:13:14
[TypeConverter(typeof(CustomClassConverter))]
public class Class1{
  private CustomClass myClass;
  public event EventHandler MyClassChanged;
  public Class1(){
    myClass.DataChanged += new EventHandler(Triggar);
  }
  [DefaultValue(0,0,0)]
  public CustomClass MyClass{
    get{return myClass;} set{myClass = value; Triggar();}
  }
  public void Triggar(){
    if(MyClassChanged != null) MyClassChanged(this,EventArgs.Empty);
  }
}
public class CustomClass{
  private int a,b,c;
  public event EventHandler DataChanged;
  public CustomClass(){ a = 0; b = 0; c = 0; }
  public int A{
    get{return a;} set{a = value; Triggar();
  }
  public int B{
    get{return b;} set{b = value; Triggar();}
  }
  public int C{
    get{return c;} set{c = value; Triggar();}
  }
  public void Triggar(){
    if(DataChanged != null) DataChanged(this,EventArgs.Empty);
  }
}
0710酔いちくれ ◆J0rwikii8c 2006/12/01(金) 22:14:21
もう、一体何がしたいんだと子一時間(ry
■ このスレッドは過去ログ倉庫に格納されています