C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >>
■8033  リストボックスのアイテム追加
□投稿者/ とくとく -(2007/09/21(Fri) 15:07:27)

    分類:[.NET 全般] 

    初めて投稿します。

    C# 2005を使っています。

    ファイル名:item.txt
    ---------
    東京
    大阪
    京都



    ---------
    上記のようなテキストファイルに書かれたアイテムリストを読み込んで、
    リストボックスに表示する方法を探しています。
    ボタンをクリックするとテキストファイルが選択でき、
    そのテキストファイルの内容をリストボックスに入れるようにしたいです。

    どなたかヒントをください。
親記事 /過去ログ20より / 関連記事表示
削除チェック/

■8140  Re[18]: 反時計回り 時計回り すいませんバグありました!
□投稿者/ セイン -(2007/09/25(Tue) 10:50:21)
    2007/09/25(Tue) 11:09:39 編集(投稿者)
    2007/09/25(Tue) 11:04:22 編集(投稿者)

    <pre><pre>面積---------------------------------------
    ベクトル
    AB 8 1 0
    AC 7 2 0
    AD 9 3 0
    AE 2 4 0
    AF 10 5 0
    AG 0 6 0
    AH 0 0 0

    外積
    AB×AC 0 0 9
    AC×AD 0 0 3
    AD×AE 0 0 30
    AE×AF 0 0 -30
    AF×AG 0 0 60
    AG×AH 0 0 0

    外積の和
    合計 0 0 72
    面積 = (abs(x)+abs(y)+abs(z))/2

    なので、面積は36 cm2



    法線ベクトル---------------------------------------
    法線を求める際に使用する3点は、
    成分の和より、座標EFGとなります。

    ベクトル
    EF 8 1 0
    EG -2 2 0

    EF×EG 0 0 18


    法線ベクトルは、 (0,0,18)


    回転方向---------------------------------------
    法線ベクトルは、 の結果をi=0, j=0, k=18とすると、
    下記条件より、反時計回り。

    i+j+k> 0 反時計回り。
    i+j+k< 0 時計回り。
    i+j+k==0 回転方向なし



    こういった計算でよいでしょうか?</pre></pre>
記事No.7927 のレス /過去ログ20より / 関連記事表示
削除チェック/

■8195  Re[19]: 反時計回り 時計回り すいませんバグありました!
□投稿者/ れい -(2007/09/26(Wed) 02:12:22)
    No8140 (セイン さん) に返信
    > 外積の和
    > 合計 0 0 72
    > 面積 = (abs(x)+abs(y)+abs(z))/2

    外積の和は合ってますが、
    面積の計算方法は違います。

    「ベクトルの絶対値」とは「ベクトルの長さ」のことです。
    ですので、
    sqrt(0^2+0^2+72^2)=72
    面積 = sqrt(0^2+0^2+72^2)/2 = 36
    です。

    > 法線ベクトルは、 (0,0,18)

    あっています。

    > 回転方向---------------------------------------
    > 法線ベクトルは、 の結果をi=0, j=0, k=18とすると、
    > 下記条件より、反時計回り。
    >
    > i+j+k> 0 反時計回り。
    > i+j+k< 0 時計回り。
    > i+j+k==0 回転方向なし

    成分を足すとは言っていません。
    y4yamaさんの例題は2次元ですので、
    法線ベクトルは必ずz軸に平行で、上向きか下向きになります。
    座標系に右手系を用いるか、左手系を用いるかで異なりますが、
    この法線ベクトルの向きで右回りか左回りが判定できます。
記事No.7927 のレス /過去ログ20より / 関連記事表示
削除チェック/

■8222  Re[20]: 反時計回り 時計回り すいませんバグありました!
□投稿者/ セイン -(2007/09/26(Wed) 14:39:02)
    2007/09/26(Wed) 14:40:35 編集(投稿者)

    No8195 (れい さん) に返信
    > ■No8140 (セイン さん) に返信
    >>外積の和
    >>合計 0 0 72
    >>面積 = (abs(x)+abs(y)+abs(z))/2
    >
    > 外積の和は合ってますが、
    > 面積の計算方法は違います。
    >
    > 「ベクトルの絶対値」とは「ベクトルの長さ」のことです。
    > ですので、
    > sqrt(0^2+0^2+72^2)=72
    > 面積 = sqrt(0^2+0^2+72^2)/2 = 36
    > です。
    >
    >>法線ベクトルは、 (0,0,18)
    >
    > あっています。
    >
    >>回転方向---------------------------------------
    >>法線ベクトルは、 の結果をi=0, j=0, k=18とすると、
    >>下記条件より、反時計回り。
    >>
    >>i+j+k> 0 反時計回り。
    >>i+j+k< 0 時計回り。
    >>i+j+k==0 回転方向なし
    >
    > 成分を足すとは言っていません。
    > y4yamaさんの例題は2次元ですので、
    > 法線ベクトルは必ずz軸に平行で、上向きか下向きになります。
    > 座標系に右手系を用いるか、左手系を用いるかで異なりますが、
    > この法線ベクトルの向きで右回りか左回りが判定できます。

    れいさんありがとうございます。 Zeeさん ごめんなさい^^;物分りが悪くて。
    面積・と法線ベクトルについては理解できました。
    反時計回り、時計回りの判定ですが、
    > この法線ベクトルの向き

    例の場合ですと、法線ベクトルは、 (0,0,18)の場合ですよね。
    2次元なので、Zが正なら反時計周り、Zが負なら時計回りと判断できます。
    そこまでは理解できたのですが、
    > 座標系に右手系を用いるか、左手系を用いるかで異なりますが、
    > この法線ベクトルの向きで右回りか左回りが判定できます。

    左手座標系(左手系)で考えています。(左手系右手系は今勉強したところです。)
    http://homepage3.nifty.com/first_physics/vector_analysis/va_coordinatesys.html

    この座標系に対して、判定するということは、求まった法線ベクトルが、
    どの方向に向いていれば、反時計回り、どの方向に向いていれば、時計回り。

    と判断する必要があるということですよね。
    ■7002 / inTopicNo.31や■6924 / inTopicNo.29)で同じ様な内容が書いてあるのですが、
    判定方法が、まだ理解できていません。
    申し訳ございませんが、ご教授ください。

記事No.7927 のレス /過去ログ20より / 関連記事表示
削除チェック/

■8397  コマンドプロンプトを最前面に表示させる方法
□投稿者/ あら -(2007/09/28(Fri) 16:22:11)

    分類:[C#] 

    お世話になっております。

    Formから起動させたコマンドプロンプトを常に最前面に表示しようとしています。

    下記のような場合はコマンドプロンプトは常に最前面に表示させることは可能なの
    でしょうか?
    ご教授、アドバイス等宜しくお願いします。
    (.NET 2005 C#使用して開発しています。)

    ---------------------------------
    Form1にForm2とコマンドプロンプトを起動させるボタンがあり、Form2はTopMostの
    プロパティをtrueに設定していています。
    Form2を起動後、Form1からコマンドプロンプトを起動させます。この時にコマンド
    プロンプトを最前面に表示させたいと思っています。

    //Form1
    public Form1()
    {
    InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
    Form2 f2 = new Form2();
    f2.Show();
    }

    private void button2_Click(object sender, EventArgs e)
    {
    System.Diagnostics.Process.Start("cmd");
    }


    //Form2
    public Form2()
    {
    InitializeComponent();
    this.TopMost = true;
    }
親記事 /過去ログ20より / 関連記事表示
削除チェック/

■8220  ExTextBoxにフォーカスが移るときに数値が消えてしまう
□投稿者/ mittsun -(2007/09/26(Wed) 14:06:50)

    分類:[C#] 

    2007/09/30(Sun) 17:14:22 編集(投稿者)

    開発環境:VisualStudio2005
    .Net FrameWork: 2.0
    開発言語:C#

    こんにちは!
    自作ソフトの設定画面上で、入力可能文字列を制限する目的で
    じゃんぬさんのライブラリExTextBoxや利用させていただいています。
    そこで、FormatプロパティとFocus時の挙動について質問があります。
    なお、AvailableTypeはValue値を使用しています。

    【今行いたい設定画面】-----------------------------------------------

    1.ExTextBoxが複数配置されていて、それぞれの設定項目は「任意」。

    未入力: 設定なしと見なす
    入力済: 設定有りと見なす

    2.ExTextBoxが未入力(空)であれば、フォーカス移動時にFormatしてほしくない。

    例:Formatプロパティ:#.##0.00
    未入力状態からフォーカスを失うと「0.00」と表示されるが、空のままの表示を保ちたい。

    3.0.00と入力された後、テキストボックスに再度フォーカスしても、数字が消えないようにしたい。

    例:Formatプロパティ:#.##0.00
    ExTextBox1に「0.00」と入力後、フォーカスを別のコントロールに移す(表示:0.00)
    ExTextBox1にフォーカスを戻す(表示:空)

    フォーカスを戻したときに「0.00」or「0」と表示したい。

    --------------------------------------------------------------------

    【質問】
    2.については、Formatの指定で#.##を試してみたところ、
    空表示は保てましたが、1.11 ⇒ 1 となってしまいます(当然ですが・・・)。
    Formatについての過去記事やサイト検索は行っていますが、どうも私の意図する指定ができる要素が見つかりません。
    たぶん、Formatの指定というよりも、フォーカスの移動時のライブラリの仕様もあるかと思いますが(違ってたらすみません 汗)
    どなたかご教授いただければ幸いです。
    宜しくお願い致しますm(__)m
親記事 /過去ログ20より / 関連記事表示
削除チェック/

■8454  Form1の構造体を他フォームで。
□投稿者/ とまと -(2007/09/30(Sun) 22:59:36)

    分類:[C#] 

    C#初心者です。

    Form1で定義した構造体を他のフォームでも使いたいのですが、
    参照の仕方が分かりません。

    ------------------ソース------------------
    namespace SAMPLE
    {
    public partial class Form1 : Form
    {
    public struct TEST
    {
    public string str;
    public int num;
    }

    TEST test;

    public Form1()
    {
    test.str = "test";
    test.num = 10;

    Form2 fm2 = new Form2(this);
    fm2.Show();
    }
    }
    }

    namespace SAMPLE
    {
    public partial class Form2 : Form
    {
    public struct TEST
    {
    public string str;
    public int num;
    }

    TEST test;

    Form1 fm1;

    public Form2(Form1 fm)
    {
    fm1 = fm;

    test.str = fm1.test.str;
    test.num = fm1.test.num;
    }
    }
    }
    ------------------ソース------------------

    という風に書いたのですが、
    フォーム1のTESTをフォーム2のTESTに暗黙的に変換できません
    と出てしまいうまくいきません。

    解決策をご教授願いますm(_ _)m
親記事 /過去ログ20より / 関連記事表示
削除チェック/

■8419  Re[1]: int型にドロップダウンの何もなしを格納
□投稿者/ mあ -(2007/09/29(Sat) 03:27:54)
    2007/09/29(Sat) 03:28:13 編集(投稿者)

    No8414 (トラフィ さん) に返信
    > VC# で WEBアプリです
    > int型のものにドロップダウンリスト(test)の値を格納したいんですが、選択が無い場合、エラーが出てしまうので選択が無い場合は0をいれるようにしたいです。
    > *の部分にヌルのものを入れればいけると思えるんですがいろいろ試しましたがどうしてもエラーでうまくいきません。

    Validator使わないのですか?
    事前に何が入ってるのか確認しないのですか?

    if (test.Value.Equals("")) iValue = 0;
    else iValue = Convert.ToInt32(test.Value);
    ----------------------------------------------
    int iValue = 0;
    try {
    iValue = Convert.ToInt32(test.SelectedValue);
    }
    catch (Exception ex) {
    //
    }
    ----------------------------------------------

    普通、未選択状態が0なら、未選択は選択してないだけでデフォルトの選択肢ってことだから、
    デフォルトの選択肢に値を設定しておけばいいだけの話とも言えますよね?

記事No.8414 のレス /過去ログ20より / 関連記事表示
削除チェック/

■8423  Re[2]: int型にドロップダウンの何もなしを格納
□投稿者/ 渋木宏明(ひどり) -(2007/09/29(Sat) 05:15:23)
>
    > ----------------------------------------------
    > int iValue = 0;
    > try {
    > iValue = Convert.ToInt32(test.SelectedValue);
    > }
    > catch (Exception ex) {
    > //
    > }
    > ----------------------------------------------

    こうゆうところで例外あてにするのはよくないと思う。
記事No.8414 のレス /過去ログ20より / 関連記事表示
削除チェック/

■8499  numericUpDownコントロールでのMouseWhee
□投稿者/ あら -(2007/10/01(Mon) 16:57:27)

    分類:[C#] 

    お世話になっております。

    numericUpDownコントロールでMouseWheelイベントの検出を行いたいと思っています。

    調べたところイベントは独自で追加する必要があるというのはわかったのですが、Form1にあるコントロールが
    Labelの場合は問題なくイベントを検出してくれるのですが、numericUpDownの場合はイベントの検出が行えません。
    (ブレークポイントをいれてもそこで止まってくれない)

    現在下記のように記述しています。
    どのようにすればイベントの検出ができるのでしょうか?
    ご教授、アドバイス等宜しくお願いします。
    (C#、 .NET Framwork2.0)


    -----------------------------------
    Form1にnumericUpDown1が1つある状態です。

    private void InitializeComponent()
    {
    //省略
    this.MouseWheel += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseWheel);
    }


    //Form1
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }

    private void Form1_MouseWheel(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    Console.WriteLine("ここでブレークポイントをおいています。");
    }
    }
親記事 /過去ログ20より / 関連記事表示
削除チェック/

■8508  MouseWheelイベントで移動量を無視する方法について
□投稿者/ あら -(2007/10/01(Mon) 19:11:03)

    分類:[C#] 

    お世話になっております。

    numericUpDownコントロールでマウスの移動量に関係なく+/-1づつ値をnumericUpDown.Valueに入れたいと思っています。

    下記のように移動量を取得して、移動量分を増減させようとしたのですが、境界値では移動量分の増減となってしまいまし
    た。

    そこで、MouseWheelのイベント発生時にマウスの移動量は無視して指定した値を、numericUpDown.Valueに入れたいのです
    が、そのようなことはできるのでしょうか?

    ご教授、アドバイス宜しくお願いします。
    (C# .NET Framwork2.0)
    --------------

    private void NumericUpDown1_MouseWheel(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    Microsoft.VisualBasic.Devices.Computer myComputer = new Microsoft.VisualBasic.Devices.Computer();
    int i = myComputer.Mouse.WheelScrollLines;

    try
    {
    if (numericUpDown1.Value >= 0)
    {
    if (e.Delta > 0)
    {
    numericUpDown1.Value += 1 - i;

    }
    else
    {
    numericUpDown1.Value -= 1 - i;
    }
    }
    else
    {
    if (e.Delta > 0)
    {
    numericUpDown1.Value += 1 - i;

    }
    else
    {
    numericUpDown1.Value -= 1 - i;
    }
    }
    }
    catch (ArgumentOutOfRangeException)
    {
    //max:100, min:-100とし場合
    if (numericUpDown1.Value >= 100)
    {
    numericUpDown1.Value = 100;
    }
    else
    {
    numericUpDown1.Value = -100;
    }
    }
    }
親記事 /過去ログ20より / 関連記事表示
削除チェック/

■8591  Re[3]: MouseWheelイベントで移動量を無視する方法について
□投稿者/ あら -(2007/10/03(Wed) 16:19:46)
    RUNさん、mあさん、@echoさん、れいさん返信ありがとうございます。
    
    教えて頂いたソースをC#に変更して実行したら
     ・境界値の挙動で2ノッチしないと値が変わらない・・・
     ・VBも計算式もよくわからなかったので、値を減らす場合の処理がいいのか不明・・・
    といった問題が残りましたが、大体考えていた挙動になりましたので、
    解決済とさせて頂きます。
    
    ありがとうございました。
    
    --------------------------
    以下れいさんに教えて頂いたソースのC#に変更したものです。
    
        public class SlowWheelNumericUpDown : NumericUpDown
        {
            private int wheeldelta = 0;
            protected override void WndProc(ref Message m)
            {
                if (m.Msg == 0x20A)
                {
                    if (SystemInformation.MouseWheelScrollLines > 0)
                    {
                        int delta;
                        wheeldelta += ((int)m.WParam >> 16);
                        delta = (wheeldelta / 120) + 120 / SystemInformation.MouseWheelScrollLines;
                        if (wheeldelta < 0)
                        {
                            delta = -delta;
                        }
                        wheeldelta = wheeldelta % 120;
                        m.WParam = (IntPtr)((delta << 16) | ((int)m.WParam & 0xffff));
                    }
                }
    
                base.WndProc(ref m);
            }
        }
    
記事No.8508 のレス / END /過去ログ20より / 関連記事表示
削除チェック/

■8762  showmodalDialogでウィンドウを開いた時の表示
□投稿者/ Alvin Lee -(2007/10/09(Tue) 16:42:25)

    分類:[JavaScript] 

    いつもお世話になっております。
    早速ですが、質問に入ります。

    今、HTMLの画面の開く方法で、showmodalDialogを使います。
    画面は正しく開かれますが、開いた画面の表示がよろしくありません--;;

    画面の全体が上詰、左詰になります。つまり、画面全体が真ん中に表示されません。

    ---------------------------------------
    |naiyou........................... xxx|
    |................................. xxx| <-ウィンドウ
    | xxx| *左の方には余白なくて、右に方だけに余白が出てしまいます。
    | xxx|  *open()で開いたら、ちゃんと真ん中になって表示されます。 
    | xxx|
    | xxx|
    |................................. xxx|
    | xxx|
    |..................................xxx|
    | xxx|
    | xxx|
    | xxx|
    ---------------------------------------

    以上に内容で、どうぞよろしくお願い致します。
親記事 /過去ログ20より / 関連記事表示
削除チェック/

■8780  VB2005のバージョン確認は?
□投稿者/ もねを -(2007/10/10(Wed) 01:28:32)

    分類:[VB.NET/VB2005] 

    こんにちは、技術とは違うと思いますがアドバイスお願い致します。
    現在、VB2005のProを使用しています。
    SP1をインストールしたと思うのですが忘れてしまい確認方法を調べています。
    VB6.0の場合、起動と同時に表示されるタイトル箇所に(SP5)などと表示されていた記憶があります。
    VB2005でバージョン情報を見ると、わかりやすく書かれていません。
    ----------------------------------
    Microsoft Visual Studio 2005
    Version 8.0.50727.42 (RTM.050727-4200)
    Microsoft .NET Framework
    Version 2.0.50727

    インストールされている Edition: Professional

    Microsoft Visual Basic 2005 77971-009-2719995-41224
    Microsoft Visual Basic 2005

    Crystal Reports AAC6G-J0CSA4B-U7000AN
    Crystal Reports for Visual Studio 2005

    SQL Server Reporting Services
    Microsoft SQL Server Reporting Services デザイナ
    Version 9.00.3042.00
    ----------------------------------

    サービスパックをインストールしたかの確認はどのようにすればよいでしょうか?

    よきアドバイスお願い致します。

親記事 /過去ログ20より / 関連記事表示
削除チェック/

■8786  Re[2]: VB2005のバージョン確認は?
□投稿者/ もねを -(2007/10/10(Wed) 10:22:12)
    みなさまありがとうございました。
    サービスパックですがインストールされておりませんでした。
    SQLServer2005のSPと勘違いをしていました。
    インストール後、いかが確認できました。

    ------------------------------------
    Microsoft Visual Studio 2005
    Version 8.0.50727.762 (SP.050727-7600)
    Microsoft .NET Framework
    Version 2.0.50727

    インストールされている Edition: Professional

    Microsoft Visual Basic 2005 77971-009-2719995-41318
    Microsoft Visual Basic 2005

    Microsoft Web Application Projects 2005 77971-009-2719995-41318
    Microsoft Web Application Projects 2005
    バージョン 8.0.50727.762

    Crystal Reports AAC6G-J0CSA4B-U7000AN
    Crystal Reports for Visual Studio 2005

    Microsoft Visual Studio 2005 Professional Edition - 日本語 Service Pack 1 (KB926602)
    この Service Pack は Microsoft Visual Studio 2005 Professional Edition - 日本語 用です。
    後で最新版の Service Pack をインストールした場合、この Service Pack は自動的にアンインストールされます。
    詳細については、http://support.microsoft.com/kb/926602 を参照してください。
    ------------------------------------

    Version 8.0.50727.762 (SP.050727-7600)
    → .42が.762に変化しました。
    → RTMがSPに変化しました。

    Microsoft Visual Studio 2005 Professional Edition - 日本語 Service Pack 1 (KB926602)
    の文章が追加されました。

    魔界の仮面弁士さんのアドバイスのとおり「プログラムの追加と削除」でもVS2005SP1が確認できました。

    これらの情報を知っていればよかったのですが・・・勉強になりました。
    ありがとうございました。
記事No.8780 のレス / END /過去ログ20より / 関連記事表示
削除チェック/

■8699  MissingMethodExceptionで死亡
□投稿者/ yagiey -(2007/10/07(Sun) 13:53:09)

    分類:[C#] 

    C#にてとあるアプリケーションを作っていまして、7〜8割できたところです。
    環境は、XP Pro、SP2、Visual Studio 2005 Standardです。
    最近気づいたのですが(遅すぎ?)、このアプリケーションのexeを取り出して他のプロジェクトに突っ込むと、なんとアプリケーションで使ってたクラスなどpublicで定義した要素が丸見えではないですか。

    これはマズいとばかりに、とりあえず、公開したくないものをpublicからinternalへちまちま変更していくことにしました。
    ...でも、これはすぐに挫折しました。
    1つのpublicをinternalへ変更するたびに、芋づる式に「アクセシビリティ云々」というコンパイルエラーが発生してしまいます。
    終りが見えません。

    そこでソリューション内部のpublicを一括でinternalへ置換しました。
    もちろん、コンパイルエラーがたくさん出ました。
    でも、頑張れば何とかなる数(400個程度)でしたし、エラーの種類もほとんど同じものだったので、これでやってみました。
    (ちなみにそのエラーとは、internalに置換したことにより、実装されたインターフェースメンバがinternalになってしまったから、などです)

    頑張ってコンパイルエラーを全部摘み取り、ビルドできる状態になりました。
    ...しかし、今度は実行時エラーが待っていました。
    しかも、今までに見たことのない、「MissingMethodException」なる例外です。
    ちょっと調べてみると、リフレクション関係ではないですか...。
    MSDNによると、「存在しないメソッドに動的にアクセスしようとした場合にスローされる例外。」だそうです。
    # いや、動的になんてやってないし。少なくとも自分は。


    以上のような状況です。
    さて、どこらへんでMissingMethodException例外が投げられるかというと...。
    すみません。まんまソースコードは出せるはずがない(長すぎるし、一応商用アプリだし)ので、すごく簡単に説明します。
    以下のようなDataGridViewが登場します。


    ・internal abstract class ProperySettingsGridView : DataGridView { ... }
     コレクションの全要素のプロパティを編集するためのDataGridView。
     内部にobject型の参照をもっており、こいつが編集対象のコレクションを参照している。
     コレクションの各要素を行、要素の各プロパティを列にしてセルを編集することで特定の要素の特定のプロパティを編集する。
     コレクションを特定したクラスを派生クラスとして利用する。
     派生クラスに共通に持たせたい機能(アンドゥなど)も実装。
     VirtualModeはtrue。

    ・internal class RecordsSettingsGridView : ProperySettingsGridView { ... }
     PropertySettingsGridViewの、コレクションをRecordsクラスに特定したバージョン。


    このRecordsSettingsGridViewをフォームRecordsSettingsFormに貼り付けて利用します。
    ある情報のまとまり(Records)を編集するためのフォームです。
    以下のように、RecordsSettingsFormのコンストラクタでRecordsのインスタンスをRecordsSettingsGridViewに渡しています。
    (実際は、コンストラクタから呼ばれるメンバ初期化用の関数Initでやってます。下のスタックトレースからも分かるかと思います)

    internal RecordsSettingsForm(Records records)
    {
     InitializeComponent();
     ...
     gridView.Records = records; // gridViewはRecordsSettingsGridViewです
     ...
    }

    ってやってて、さらにRecordsSettingsGridViewのRecordsプロパティの定義は以下です。

    [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
    public Records Records
    {
     get { return (Records)base.Collection; }
     set
     {
      ...
      if (value == null) base.Collection = null;
      else base.Collection = value.Clone() as Records;
      
      RowCount = Records.Count; // ここでMissingMethodException
      ...
      ...
     }
    }


    コメントとおり、ここで例外が投げられます。
    例外のMessageは「このプロジェクトで、引数なしコンストラクタは定義されていません。」です。
    StackTraceも書いておきます。
    あ、アプリケーションが特定されそうな箇所は伏せています :-)

      場所 System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandle& ctor, Boolean& bNeedSecurityCheck)
      場所 System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean fillCache)
      場所 System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache)
      場所 System.Activator.CreateInstance(Type type, Boolean nonPublic)
      場所 System.Windows.Forms.DataGridViewTextBoxCell.Clone()
      場所 System.Windows.Forms.DataGridView.CompleteCellsCollection(DataGridViewRow dataGridViewRow)
      場所 System.Windows.Forms.DataGridView.get_RowTemplateClone()
      場所 System.Windows.Forms.DataGridViewRowCollection.Add(Int32 count)
      場所 System.Windows.Forms.DataGridView.set_RowCount(Int32 value)
      場所 --------.RecordsSettingsGridView.set_Records(Records value) 場所 ********
      場所 --------.RecordsSettingsForm.Init(Records records, ******** ********, ++++++++ ++++++++, Boolean @@@@@@@@) 場所 ********
      場所 --------.RecordsSettingsForm..ctor(Records records, ******** ********, ++++++++ ++++++++, Boolean @@@@@@@@) 場所 ********
      場所 --------.RecordsSettingsForm..ctor(Records records, ******** ********, ++++++++ ++++++++) 場所 ********
      場所 --------.RecordsSettingsForm..ctor(Records records, ******** ********) 場所 ********
      場所 --------.========.EditRecords() 場所 ********
      場所 --------.========.btnSettingRecords_Click(Object sender, EventArgs e) 場所 ********
      場所 System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
      場所 System.Windows.Forms.ToolStripButton.OnClick(EventArgs e)
      場所 System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
      場所 System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
      場所 System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
      場所 System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
      場所 System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
      場所 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
      場所 System.Windows.Forms.Control.WndProc(Message& m)
      場所 System.Windows.Forms.ScrollableControl.WndProc(Message& m)
      場所 System.Windows.Forms.ToolStrip.WndProc(Message& m)
      場所 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
      場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
      場所 System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
      場所 System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
      場所 System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
      場所 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
      場所 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
      場所 System.Windows.Forms.Application.Run(Form mainForm)
      場所 --------.Program.Main(String[] args) 場所 ********
      場所 System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args)
      場所 System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
      場所 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
      場所 System.Threading.ThreadHelper.ThreadStart_Context(Object state)
      場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
      場所 System.Threading.ThreadHelper.ThreadStart()


    「引数なしコンストラクタ」ってのはTraceによるとDataGridViewTextBoxCellのコンストラクタのことでしょうか。
    でも、DataGridViewTextBoxCellにはちゃんと引数なしのpublicコンストラクタがあるしなぁ。
    もうわけがわかりません。
    いったい何が起きているのでしょうか。
    internalに置換する前は起きなかったバグなので、置換したことが原因だと思いますが。


    以上のことから何か分かる方、なんでも良いですので助言をお待ちしています。
    よろしくお願いします。

    長くなってすみません。全部読んでくださった方、ありがとうございます:-)
    あと、詳しいことを書くことができず、申し訳ありません。
親記事 /過去ログ20より / 関連記事表示
削除チェック/

■8844  Re[3]: ASP.NET2.0 TreeView チェックボックス
□投稿者/ osada -(2007/10/11(Thu) 11:45:57)
    ご回答頂き、ありがとうございます。
    なにぶん時間が無かったもので、結局解決致しました。
    
    下記ロジックにてツリービューにデータを格納することが出来ました。
    
     '------------------------
        'SUB名    :btnTeritory_Click
        '作成者   :osada
        '作成日   :2007/10/02
        '引数    :-
        '処理概要  :各検索キーワードを元にテリトリーを検索する
        '           :
        '修正履歴  :
        '------------------------
        Protected Sub btnTeritory_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnTeritory.Click
            Try
                '検索フラグをテリトリー検索に設定する
                blnSearchFlg = False
                lblSelectSearch.Text = "テリトリー検索"
                'TreeNode初期化
                TreeView1.Nodes.Clear()
                '初期項目【Selection】
                Dim SELECTIONNode As New TreeNode("Selections")
                SELECTIONNode.ImageUrl = "~/image/フォルダロゴ.bmp"
                'ツリービューにノードを格納
                TreeView1.Nodes.Add(SELECTIONNode)
                '************* ページレイアウト作成処理 Start *************
                'メッセージラベル初期化
                lblErr.Text = ""
                '************* ページレイアウト作成処理 End *************
    
                '******** ドロップダウンリストの値を取得する Start ********
                'ビジネスドロップダウンリストの値格納
                Dim strBZNS As String = drpBzns.Text
                '変換処理【ビジネスコード取得】
                InitCodeConvert(strBZNS)
                '県ドロップダウンリストの値格納
                Dim strKen As String = drpKen.Text
                '変換処理【県コード取得】
                InitCodeConvert(strKen)
                '支店ドロップダウンリストの値格納
                Dim strShiten As String = drpShiten.Text
                '変換処理【支店コード取得】
                InitCodeConvert(strShiten)
                '******** ドロップダウンリストの値を取得する Start ********
    
                'テリトリー検索ボタン押下時のストアドプロシージャ
                Dim strSQL As String = "PKG_TETRYSEARCH.SP_TETRYSEARCH"
    
                'オラクルコネクションの生成 及び 接続文字列の関連付け
                cn = New OracleConnection(setting.ConnectionString)
    
                'オラクルコマンドの生成 及び ストアドプロシージャの関連付け
                cmd = New OracleCommand(strSQL, cn)
                'オラクルコマンドタイプの指定
                cmd.CommandType = Data.CommandType.StoredProcedure
    
                'パラメータ設定を行う
                funParaAdd(cmd, strBZNS, strKen, strShiten, blnSearchFlg)
    
                '現在ビジネスコード宣言
                Dim strNowBzns As String = ""
                '過去ビジネスコード宣言
                Dim strPrevBzns As String = ""
                'ツリーノード宣言【ビジネス】
                Dim BznsNode As TreeNode
    
                '接続オープン
                cn.Open()
    
                'データリーダにてストアドプロシージャの実行
                dr = cmd.ExecuteReader()
    
                If dr.Read = False Then
                    lblErr.Text = "データベースに値が存在しません。"
                Else
                    Do
                        '現在のビジネスコードを格納
                        strNowBzns = dr("BSNSCD")
    
                        '現在ビジネスと変数ビジネスが等しいかを判定
                        If strPrevBzns <> strNowBzns Then
                            'ツリーノードを生成【ビジネス】 及び ビジネス項目格納
                            BznsNode = New TreeNode(strNowBzns)
                            'ロゴ格納
                            BznsNode.ImageUrl = "~/image/ビジネスノードロゴ.bmp"
                            ''チェックボックス付与
                            'BznsNode.ShowCheckBox = True
                            'ツリービューにノードを格納
                            TreeView1.Nodes.Add(BznsNode)
                        End If
    
                    Loop Until dr.Read = False
    
                End If
                'オラクルデータリーダーの接続Close
                dr.Close()
                'オラクルコネクションの接続Close
                cn.Close()
    
                '******** ボタン制御 Start **********
                'クリアボタン使用可能
                btnClear.Enabled = True
                '社内用Excelボタン使用可能
                btnInExcel.Enabled = True
                '社外用Excelボタン使用可能
                btnOutExcel.Enabled = True
                '品目検索ボタン使用不可
                btnMDLSearch.Enabled = False
                'テリトリー検索ボタン使用不可
                btnTeritory.Enabled = False
                '******** ボタン制御 End **********
    
            Catch ex As Exception
                'エラー内容表示
                lblErr.Text = ex.Message
            Finally
                'DB接続インスタンスの解放を行う
                InitDBReaderDispose(cn, cmd, dr)
            End Try
        End Sub
    
    本当にありがとうございます。
    これからも宜しくお願い致します。
記事No.8548 のレス / END /過去ログ21より / 関連記事表示
削除チェック/

■8880  Re[5]: テキストボックス生成
□投稿者/ ぼのぼの -(2007/10/12(Fri) 12:20:09)
    No8872 (えく さん) に返信
    > あらかじめ用意されたHTMLのテーブルの中へ表示するにはどうしたらいいのでしょうか
    
    あっ、見落としてたorz
    
    ちょっと確認ですが、
    
    (1)
    +------+------+------+
    |      |[    ]|      |
    +------+------+------+ こんな感じで各セルに表示
    |      |[    ]|      | [    ]がテキストボックスね
    +------+------+------+
    |      |[    ]|      |
    +------+------+------+
    
    (2)
    +------+------+------+
    |      |      |      |
    +------+------+------+
    |      |      |      |
    +------+------+------+
    |      |[    ]|      | こんな感じであるセルに表示
    |      |[    ]|      |
    |      |[    ]|      |
    +------+------+------+
    
    のどっちのイメージでしょうか?
    
    (1)なら「あらかじめ用意されたHTMLのテーブル」の行数が静的なものなら
    データの数に応じてってのは変ですよね。
    
    (2)なら対象セル内に先に挙げた3つのどれかを置けば良さそう。
記事No.8851 のレス /過去ログ21より / 関連記事表示
削除チェック/

■8708  Re[3]: RichTextBoxの行間を詰める方法
□投稿者/ 魔界の仮面弁士 -(2007/10/08(Mon) 16:30:06)
    No8677 (tk さん) に返信
    > MSゴシック 9ptですが、フォントの高さの1/3 くらいは空いています。
    > やりたいのはテキストエディタのような行間の狭さです。
    
    「やりたいこと」に即しているかどうかはともかくとして、とりあえず、こんな感じで行間は変化しました。
    行間によっては、文字の一部が切れるのでご注意あれ。
    
    //-------------------------------
    // PARAFORMAT2 の宣言方法については、先述の No8707 の通り。
    
    [DllImport("user32", SetLastError = true)]
    static extern int SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, ref PARAFORMAT2 lParam);
    
    private void button1_Click(object sender, EventArgs e)
    {
        int size = Marshal.SizeOf(typeof(PARAFORMAT2));
    
        PARAFORMAT2 pf = new PARAFORMAT2();
        pf.cbSize = (uint)size;
        //pf.rgxTabs = new int[MAX_TAB_STOPS];
        pf.dwMask |= PFM_LINESPACING;
        pf.bLineSpacingRule = 4;
        //pf.dyLineSpacing = (int)numericUpDown1.Value;
        pf.dyLineSpacing = 210;
    
        int start = richTextBox1.SelectionStart;
        int length = richTextBox1.SelectionLength;
        richTextBox1.SelectAll();
    
        /* int ret = */ SendMessage(richTextBox1.Handle, EM_SETPARAFORMAT, IntPtr.Zero,ref pf);
    
        richTextBox1.Select(start, length);
    }
記事No.8671 のレス /過去ログ21より / 関連記事表示
削除チェック/

■8947  Re[1]: 処理中のウインドウ表示について
□投稿者/ 魔界の仮面弁士 -(2007/10/15(Mon) 11:42:11)
    No8888 (AKANE さん) に返信
    > 長いSQL処理を実行している間、処理中ウインドウを表示しておきたいのですが
    > どのように表示していいのかがわかりません。

    こんな感じかな…?

    Private WithEvents con As ADODB.Connection
    Private Sub Command1_Click()
     '---------------------------------------------
     ' [処理中ウインドウ]を表示する処理を、ここに記述
     '---------------------------------------------

     ' 非同期実行のために、adAsyncExecute を指定する
     con.Execute SQL, , adCmdText Or adAsyncExecute
    End Sub

    ' SQL 実行が終了した後に発生するイベント
    Private Sub con_ExecuteComplete(……)
     '---------------------------------------------
     ' [処理中ウィンドウ]を閉じる処理を、ここに記述
     '---------------------------------------------
     ' SQL の実行後に行う処理を、ここに記述
     '(実行結果の画面表示、エラー時の対応など)
     '---------------------------------------------
    End Sub
記事No.8888 のレス /過去ログ21より / 関連記事表示
削除チェック/

次の20件>

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >>

ヒット件数が多いので過去ログ20〜35 までの検索結果 / 過去ログ36からさらに検索→

パスワード/

- Child Tree -