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 >>
■31436  template を使ったクラスについて
□投稿者/ 雲 -(2009/01/22(Thu) 07:22:47)

    分類:[C/C++] 

    template<typename T>
    class AAA{
    public:
    class BBB{
    public:
    int bbb;
    }

    BBB func(){ return( BBB() ); }

    };

    と書くと特に問題なく動作します。

    ここで、BBB func(){ return( BBB() ); } を AAA の外に出して、

    template<typename T>
    class AAA{
    public:
    class BBB{
    public:
    int bbb;
    }

    BBB func();
    };


    template<typename T>
    AAA<T>::BBB func() <-------------------ここがダメらしい
    {
    return( AAA::BBB() );
    }

    とすると、何故か、『依存名は型ではありません』と言ってコンパイラに
    怒られてしまいます。

    どうも、戻り値にAAA<T>::BBBと書くのがダメみたいなのですが、理由が良く
    わかりません。

    なにがいけないのでしょう?
親記事 /過去ログ56より / 関連記事表示
削除チェック/

■31576  Re[4]: フォームからはみ出ないようにテキストボックスをマウスで移動
□投稿者/ Azulean -(2009/01/24(Sat) 13:37:36)
    2009/01/24(Sat) 13:41:27 編集(投稿者)

    > このやり方は「VB.net マウスで移動 コントロール」と検索して知りました。
    > それだけだとフォームからはみ出てしまうのではみ出ないようにする方法を
    > 色々探したり考えたりしましたが、なかなかうまくいかなかったのでここに書かせて頂きました。

    「こんなことを確かめたらどうだろう?」に対して、「経緯の説明」といった内容のレスポンスが返すのはなんかずれていますよ。
    アドバイスの内容が分からないのであれば、もう少し突っ込んだ質問をしてみたらよいのでは?
    単に、説明の繰り返しをするだけだと、何を求めているのかよく分からなくなります。

    ------------
    さておき、その追及だけでは解決に進まないので、見るべきポイントを。

    まずは、If文の内容をよく読み直して下さい。
    条件の考慮漏れと、不等式の誤りがありますので、そこを見直すところから始める必要があるでしょう。

    ・右側&下側に "同時に" はみ出たときはどこを通るのか
    ・上側に はみ出したときはどこを通るのか
    ・左側に はみ出したときはどこを通るのか
    ・右側&上側、左側&上側、左側&下側に "同時に" はみ出したときはどこを通るのか

    これらが分かったら、何が足りないのかをまとめて、どういったIf文にするべきか考えてみて下さい。

    そして、補正処理(フォームの内側に留める計算)と移動処理(マウスの移動を反映する計算)を正しく入れていって下さい。
記事No.31559 のレス /過去ログ56より / 関連記事表示
削除チェック/

■31617  DataGridViewにバインド後のデータ編集につい
□投稿者/ あや -(2009/01/26(Mon) 12:51:11)

    分類:[C#] 

    開発環境:VS2005

    はじめまして、アヤといいます。

    以下のコードで、DataGridViewにBindし、Bindした項目を編集したいのですが、値が取得できずに困っています。
    <----------------------
    SqlDataAdapter Da = new SqlDataAdapter(this.sql.ToString(), this.sqlConnection);
    DataTable tbl = new DataTable();
    Da.Fill(tbl);

    this.DataGridView.DataSource = tbl;
    this.DataGridView.DataBind();
    ------------------------>

    protected void DataGridView_DataBound(object sender, EventArgs e)
    protected void DataGridView_RowDataBound(object sender, GridViewRowEventArgs e)
    の両方を使ってみたのですが、うまく値が取得できませんでした。
    どのように値を取得すべきか教えていただけないでしょうか?
    ググってみたのですが、うまくヒントを見つけれませんでした。
    よろしくお願いします。
親記事 /過去ログ56より / 関連記事表示
削除チェック/

■31640  再度質問です(すみません)
□投稿者/ あや -(2009/01/26(Mon) 15:59:46)

    分類:[C#] 

    開発環境:VS2005 .NET2.0

    はじめまして、アヤといいます。

    以下のコードで、DataGridViewにBindし、Bindした項目を編集したいのですが、値が取得できずに困っています。
    <----------------------
    SqlDataAdapter Da = new SqlDataAdapter(this.sql.ToString(), this.sqlConnection);
    DataTable tbl = new DataTable();
    Da.Fill(tbl);

    this.DataGridView.DataSource = tbl;
    this.DataGridView.DataBind();
    ------------------------>

    protected void DataGridView_DataBound(object sender, EventArgs e)
    protected void DataGridView_RowDataBound(object sender, GridViewRowEventArgs e)
    の両方を使ってみたのですが、うまく値が取得できませんでした。
    どのように値を取得すべきか教えていただけないでしょうか?
    ググってみたのですが、うまくヒントを見つけれませんでした。
    よろしくお願いします。

    VS2003のときは
    VS2003では一度Bindした後に、
    private void DataGridView_ItemDataBound(object sender, DataGridItemEventArgs e)
    {
      DataRowView drv=(DataRowView)e.Item.DataItem;
      ((Label)e.Item.FindControl("LblPhotoID")).Text=drv["after_value"].ToString();
    }
    の感じでデータを編集しておりました。

    VS2005では、protected void DataGridView_DataBound(object sender, EventArgs e)
    の中で、e.Itemが使えず、eの中身を見ても値を取得してくれません。
    どのように記述すればよいのでしょうか?
    どうしても困ってしまって、調べても分かりません。どなたかご教示下さい。
    お願い致します。
親記事 /過去ログ56より / 関連記事表示
削除チェック/

■31975  if文の分岐概念について
□投稿者/ シープラザ -(2009/01/30(Fri) 15:44:58)

    分類:[C/C++] 

    WinXPでVC(2003)を勉強中の初心者です。よろしくお願いします。

    率直に質問させてください。
    下記のコードがあるとします。

    //----------------------------------------
    int a;
    int b;

    a = 5;

    b = a + 2;

    if((a + 2) == b)
    {
    cout << "Equal!" << endl;
    }else{
    cout << "NG" << endl;
    }

    cin.ignore();

    //-------------------------------------

    これを実行した結果:
    Equal!
    NG

    つまり、一致するルートも一致しないルートも両方通ってしまいました。
    デバッグで一行ずつ見ていっても、何故かEqualを描画後に普通にelseの中に入りNGを描画してしまいます。

    VBだとありえない動きだと思うのですが、Cだとありえるという事でしょうか?
    ありえるとしたら原因は何が考えられますか?

    やりたい事は、上記のコードを実行した結果で「Equal!」だけ表示させたいです。
親記事 /過去ログ56より / 関連記事表示
削除チェック/

■31995  C++→C#
□投稿者/ 玩具 -(2009/01/30(Fri) 17:51:35)

    分類:[C#] 

    2009/01/30(Fri) 22:22:28 編集(投稿者)
    2009/01/30(Fri) 17:52:55 編集(投稿者)

    <pre><pre>C++で書いた下記のコードを機能を削減することなく、
    C#で書き直すにはどうすればよいでしょうか?
    どなたかご教授お願いします。

    #include <iostream>
    #include <fstream>
    using namespace std;

    //関数プロトタイプ
    void readFile( char** buffer, int* size, const char* filename );

    int main( int argc, char** argv ){
    const char* filename = "data.txt";
    if ( argc >= 2 ){
    filename = argv[ 1 ];
    }
    char* data;
    int fileSize;
    readFile( &data, &fileSize, filename );
    if ( !data ){
    cout << "file could not be read." << endl;
    return 1;
    }
    }

    //---------------------関数定義------------------------------------------
    void readFile( char** buffer, int* size, const char* filename ){
    ifstream in( filename );
    if ( !in ){
    *buffer = 0;
    *size = 0;
    }else{
    in.seekg( 0, ifstream::end );
    *size = static_cast< int >( in.tellg() );
    in.seekg( 0, ifstream::beg );
    *buffer = new char[ *size ];
    in.read( *buffer, *size );
    }
    }
    </pre></pre>
親記事 /過去ログ56より / 関連記事表示
削除チェック/

■31776  フレームの表示について
□投稿者/ Webは初 -(2009/01/28(Wed) 15:40:48)

    分類:[ASP.NET (VB)] 

    いつも参考にさせていただいております。

    IEの上部分に各コントロールを配置、下部分はPdfを表示し、
    下部分だけ上下にスクロールさせられるというWebページを作
    ろうとしています。

    環境はVS2008(ASP.NET)です。
    framesetタグは使えないということで、masterpageを使って
    やろうとしたのですが、なぜかPdfがIE全体に表示され
    masterpageでセットしたコントロールなどが表示されません。

    page_loadで以下のコードをよんでおります。

    ----------------------------------------------------------
    Dim sPath As String = "c:\"
    Dim sFile As String = "RFP資料.pdf"

    Response.Buffer = True
    Response.Clear()
    Response.ClearContent()
    Response.ClearHeaders()
    Response.ContentType = "Application/pdf"
    Response.AddHeader("Content-Disposition", "attachment;filename=c:\RFP資料.pdf")

    Dim fs As IO.FileStream
    Dim br As IO.BinaryReader

    fs = New FileStream(sPath & sFile, FileMode.Open)
    br = New BinaryReader(fs)

    Dim rb As Byte() = br.ReadBytes(fs.Length - 1)

    Response.BinaryWrite(rb)
    br.Close()
    fs.Close()
    Response.End()
    ----------------------------------------------------------

    改善策はあるのか、あるいは仕様をみたすための代替案があればお教えください。
    長文申し訳ありません。よろしくお願いいたします。
親記事 /過去ログ56より / 関連記事表示
削除チェック/

■31851  Re[1]: フレームの表示について
□投稿者/ biac -(2009/01/29(Thu) 13:56:47)
>
    ※ レスが付かないですねぇ。 「分類:[ASP.NET (VB)]」 と言われてますが、 そのへんとはあまり関係無い問題ですし… f(^^;


    No31776 (Webは初 さん) に返信
    > IEの上部分に各コントロールを配置、下部分はPdfを表示し、
    > 下部分だけ上下にスクロールさせられるというWebページを作
    > ろうとしています。

    IE で表示するのですよね。
    ということは、 IE に届くデータ ( html ソース ) が、 どうなってるかが問題。

    そのへん、 理解されてますか?
    「IEの上部分に各コントロールを配置」 という 「コントロール」 は、 ASP.NET の開発環境ではコントロールとして見えていますが、 ブラウザにそのコントロールが届いてるわけではありません。


    > 環境はVS2008(ASP.NET)です。
    > framesetタグは使えないということで、masterpageを使って
    > やろうとしたのですが、なぜかPdfがIE全体に表示され
    > masterpageでセットしたコントロールなどが表示されません。

    まず、単純な マスターページ + コンテンツページ を作って、 IE で表示して見てください。
    そうしたら、 IE に届いている HTML ソースを見てください。 そこにマスターページとコンテンツページの区別はありますか?

    マスターページは、 frameset や iframe の代わりにはなりません。


    > page_loadで以下のコードをよんでおります。
    >
    > ----------------------------------------------------------
    > Dim sPath As String = "c:\"
    > Dim sFile As String = "RFP資料.pdf"
    >
    > Response.Buffer = True
    > Response.Clear()
    > Response.ClearContent()
    > Response.ClearHeaders()
    > Response.ContentType = "Application/pdf"
    > Response.AddHeader("Content-Disposition", "attachment;filename=c:\RFP資料.pdf")
    >
    > Dim fs As IO.FileStream
    > Dim br As IO.BinaryReader
    >
    > fs = New FileStream(sPath & sFile, FileMode.Open)
    > br = New BinaryReader(fs)
    >
    > Dim rb As Byte() = br.ReadBytes(fs.Length - 1)
    >
    > Response.BinaryWrite(rb)
    > br.Close()
    > fs.Close()
    > Response.End()
    > ----------------------------------------------------------

    Response.End()
    http://msdn.microsoft.com/ja-jp/library/system.web.httpresponse.end.aspx
    …を呼び出した時点で、 そこまでに書き出したデータだけがブラウザに返信されます。
    つまり、 aspx の内容はまったく返信されません。 この場合は、 "RFP資料.pdf" の内容だけが、 ブラウザに届きます。
    # ぉ、ここだけは ASP.NET の話だ f(^^;


    さて。

    ・HTML の 1ページ ( つまり、 1つの HTTP リクエスト/レスポンス ) で、 複数のコンテンツをまとめて返すことはできません。
    つまり、 HTML のテキストデータと PDF のバイナリデータを 1回で返すことは不可能です。
    ※ IE8 からは、 そうでもなくなっていきますけどね。

    ・ブラウザからの 1回のリクエストに対して、 PDF データだけを返すことは、 すでに出来ていますね。 (提示していただいたコード)

    ・では、 実存する PDF ファイルを HTML のページ内に取り込んで表示する方法を研究してみてください。 それができれば、 あとは、 PDF ファイル名のところを、 PDF データを返してくれる aspx の url に書き換えるだけです。
    参考:
    http://www.keiyu.com/doc/pdflink.htm#03
    > WWWブラウザでのPDFの表示について 〜 HTML文書にPDF文書を埋め込むには
    http://www.microsoft.com/japan/msdn/community/gdn/ShowPost-21172.htm
    > スレッド: データを保存できなくさせる方法


    なお、 Response.BinaryWrite() を使った開発をするなら、 Web サーバからのレスポンスを生で見る方法を会得しておいた方がいいですよ。
    Proxomitron
    http://ja.wikipedia.org/wiki/Proxomitron
    http://www.pluto.dti.ne.jp/~tengu/proxomitron/download.html
    のようなローカルプロキシを噛ますのが常套手段です。
記事No.31776 のレス /過去ログ56より / 関連記事表示
削除チェック/

■32205  MouseDownイベントについて
□投稿者/ ラン -(2009/02/03(Tue) 13:55:39)

    分類:[C/C++] 

    --開発環境--
    WindowsXP
    VisualC++ 2003

    -------------------------------------------------
    ランと申します。

    今、画像をボタンのように扱う機能を実装しています。
    WM_CREATEでCreateWindowのsaticを使って画像を貼り付け、WM_COMMANDでイベントを記述しています。
    このままでも本質の機能は叶っているのですが、マウスを押しても画像が何も反応しないのはつまらないです。
    なのでボタンを押したタイミングで画像を入れ替えて、ボタンを離したら画像を戻す処理を入れようと思っています。
    そこでみなさまに質問なのですが、VBのようなMouseDown・MouseUpイベントを拾ったりできないでしょうか?

    どなたかご指導よろしくお願いします。
親記事 /過去ログ57より / 関連記事表示
削除チェック/

■32196  Re[3]: Designer.csファイルのDisposeメソッドを修正
□投稿者/ ガチンコ -(2009/02/03(Tue) 10:41:03)
    No32179 (渋木宏明(ひどり) さん) に返信
    > 2009/02/02(Mon) 20:49:03 編集(投稿者)
    > 
    > この場合の Dispose は「どの」 Dispose なんだろう?
    > 
    > Dispoose(bool) の override なら自分で中身を(適切に)書き換えてもいいと思うけど、Form の IDisposable.Dispose() で何かすべき場合なんてそうそうあるもんじゃないと思う。
    > 
    
    ご返信ありがとうございます。
    Dispoose(bool) の overrideの方になると思います。
    
    -----------------------------------------------------------------
    以下、Desiner.csファイルのDisposeメソッドです。
    
            /// <summary>
            /// 使用中のリソースをすべてクリーンアップします。
            /// </summary>
            /// <param name="disposing">マネージ リソースが破棄される場合 true、破棄されない場合は false です。</param>
            protected override void Dispose(bool disposing)
            {
                //●●ここに自作メソッドを追加●●
                HogeHoge();
    
                if (disposing && (components != null))
                {
                    components.Dispose();
                }
                base.Dispose(disposing);
            }
    -----------------------------------------------------------------
    
    解放処理漏れの不具合があったため、その処理を追加しようと思ったのですが、
    何十か所と手を入れなければならない良くない作りでして…。
    とりあえず、強引に上記のような処置をとっています。
記事No.32172 のレス / END /過去ログ57より / 関連記事表示
削除チェック/

■32278  Re[7]: Designer.csファイルのDisposeメソッドを修正
□投稿者/ ガチンコ -(2009/02/04(Wed) 12:31:43)
    No32225 (渋木宏明(ひどり) さん) に返信
    >>disposingパラメータは常にTrueにて呼び出しがかかっているため、問題ないと思います。
    > 
    > そりゃたまたまかもしれないので、何の保証にもならないです>常に True
    > 
    > disposing の値によって HogeHoge() の呼び出しを制御するか、HogeHoge() が disposing がどんな値であっても問題なく動作することを保証するべきです。
    
    すいません。深く考えておりませんでした。
    disposingがfalseの場合とは、デストラクタのときなのですね・・・。勉強になります。
    
    デストラクタのときに、HogeHoge()メソッドが呼び出されると、問題なく動作することは保証できないです。
    DBアクセスの処理が入ってますので、どうなることやら…。
    
    そう考えるとHogeHoge()メソッドはDispose時に実行されたいので、disposingがTrueのときだけ、
    呼び出されるようにしたいと思います。
    >なちゃさん、渋木宏明(ひどり) ありがとうございます。
    
    -----------------------------------------------------------------
    以下、Desiner.csファイルのDisposeメソッドです。
    
            /// <summary>
            /// 使用中のリソースをすべてクリーンアップします。
            /// </summary>
            /// <param name="disposing">マネージ リソースが破棄される場合 true、破棄されない場合は false です。</param>
            protected override void Dispose(bool disposing)
            {
                //●●ここに自作メソッドを追加●●
                if (disposing)
                {
                    HogeHoge();
                }
    
                if (disposing && (components != null))
                {
                    components.Dispose();
                }
                base.Dispose(disposing);
            }
    -----------------------------------------------------------------
    
    
    >>将来性を考えたとしても、大丈夫です……きっと。
    > 
    > 将来的には
    > 
    >>解放処理漏れの不具合があったため、その処理を追加しようと思ったのですが、
    >>何十か所と手を入れなければならない良くない作りでして…。
    >>とりあえず、強引に上記のような処置をとっています。
    > 
    > を改善するべきです。
    > 
    
    はい。そこは上司と相談します。
    
    とりあえず、解決済みチェックをしておきます。
    問題点、考慮漏れ等ありましたら、ご指摘をお願い致します。
    
記事No.32172 のレス / END /過去ログ57より / 関連記事表示
削除チェック/

■32692  Processクラスでのファイル起動について
□投稿者/ ガチンコ -(2009/02/12(Thu) 19:15:04)

    分類:[C#] 

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

    以下のコードにて、アプリに関連付けられたファイルを起動しています。

    --------------------------------------------------------
    filenm = "C:\xxxxx\hoge.txt"; や、"C:\xxxxx\hoge.xls" や、その他PDF等

    //指定されたファイルを起動
    Process p = Process.Start(filenm);

    //終了まで待ってから
    p.WaitForExit();

    //hogeメソッドを起動
    hoge();
    --------------------------------------------------------

    そこで、例えばExcelファイルが filenm にセットされている場合に、
    既に他のExcelファイルが起動されていると、そのプロセスを横取りし p が取得できず(null)、
    p.WaitForExit()で落ちてしまいます。

    終了まで待ってからでないと、hoge()メソッドが実行できないので、
    そのプロセスの終了まで待たないといけません。

    常に新しいプロセスで起動したいのですが、
    なにか方法はないでしょうか?

    ご存じの方、よろしくお願いします。
親記事 /過去ログ57より / 関連記事表示
削除チェック/

■32695  Re[1]: Processクラスでのファイル起動について
□投稿者/ ガチンコ -(2009/02/12(Thu) 21:12:15)
    No32692 (ガチンコ さん) に返信
    自己解決しましたので、報告させて頂きます。
    
    常に新しいプロセスで起動させるため、関連付けられたアプリケーションの実行パスを
    Process.Startメソッドに加えることに致しました。
    
    なお、関連付けられたアプリケーションの取得は、
    Win32APIのFindExecutable関数にて取得しました。
    不具合あるらしいけど、今のところ動いてるので大丈夫かな・・。
    もしなにかあったら、レジストリからも取得できるようなので、そちらに変更したいと思います。
    
    ------------------------------------------------------------
    /// <summary>
    /// Win32 API FindExecutable関数
    ///    ファイルに関連付けられた実行ファイルを取得します。
    /// </summary>
    /// <param name="lpFile">ファイル名文字列へのポインタ</param>
    /// <param name="lpDirectory">既定ディレクトリ文字列へのポインタ</param>
    /// <param name="lpResult">返される実行可能ファイル文字列を保持するバッファへのポインタ</param>
    /// <returns></returns>
    [System.Runtime.InteropServices.DllImport("shell32.dll")]
    public static extern int FindExecutable(string lpFile, string lpDirectory, System.Text.StringBuilder lpResult);
    
    〜
    
    //結果を受け取るためのStringBuilderオブジェクト
    StringBuilder exepath = new StringBuilder(256);
    
    //fileNmに関連付けられた実行ファイルのパスを取得する
    if (FindExecutable(filenm, null, exepath ) <= 32)
    {
        return false;  //取得失敗
    }
    
    //指定されたファイルを起動
    using(Process p = Process.Start(exepath.ToString(), filenm))
    {
        //終了まで待ってから
        p.WaitForExit();
    }
    
    //hogeメソッドを起動
    hoge();
    ------------------------------------------------------------
記事No.32692 のレス / END /過去ログ57より / 関連記事表示
削除チェック/

■32976  ArrayList
□投稿者/ 遷都君 -(2009/02/18(Wed) 12:35:51)

    分類:[C#] 

    JAVAで下記のように書いていたように、

    import java.util.*;

    private ArrayList<クラス> a;
    private Set<インターフェイス> b;

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

    C#でも下記のように書くとエラーが起こりました。
    エラー1:非ジェネリック 型 'System.Collections.ArrayList' は型引数と一緒には使用できません。
    エラー2:型または名前空間名 'Set' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。

    using System;
    using System.Collections;

    private ArrayList<クラス> a;
    private Set<インターフェイス> b;

    どうすれば解決できますでしょうか?
    ArrayListもSetもJAVAのように使用したいです。
    どなたかご助言お願いします。


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

■33010  ストアドプロシージャでのデータベース作成
□投稿者/ SQLDiver -(2009/02/18(Wed) 20:40:11)

    分類:[データベース全般] 

    開発環境 SQL Server2008 / Visual C# 2008

    管理用のDBにストアドプロシージャを作成してC#のプログラムから
    動的にDB名、保存先を指定してデータベースを作ろうとしています。

    新規にデータベースを作成するのにsqlcmdを使用すれのであれば、
    以下のようなSQLスクリプトを作って実行すればよいのでしょうが
    同様の処理をストアドプロシージャで行うことは可能でしょうか。

    ストアドプロシージャではUSEステートメントが使用できないという
    ことで新たに作成したデータベースに対するユーザやテーブルが追加
    できずに困っております。

    方法をご存じの方、よろしくお願いします。

    ------------------------------------------------------------
    USE Master
    GO

    CREATE DATABASE [MyDatabase] ON PRIMARY
    (NAME = N'MyDatabase', FILENAME = N'MyDatabase.mdf')
    LOG ON
    (NAME = N'MyDatabase_log', FILENAME = N'MyDatabase_log.LDF')
    GO

    USE MyDatabase
    GO

    CREATE USER MyUserId
    FOR LOGIN MyUserId
    GO

    CREATE TABLE ....
    ------------------------------------------------------------
親記事 /過去ログ58より / 関連記事表示
削除チェック/

■33098  PreviewKeyDownイベントの警告について
□投稿者/ よし -(2009/02/20(Fri) 15:04:44)

    分類:[C#] 

    お世話になります。

    Form上のテキストボックスにPreviewKeyDownイベントを追加したところ、
    コード分析で、以下の警告が発生するようになりました。
    (イベントを外すと出なくなります。)

    以下、警告Msg引用(改行&修正有)
    --------------------------------
    CA2122 : Microsoft.Security : XXXXXForm.InitializeComponent():Void は LinkDemand を伴う
    Control.add_PreviewKeyDown(PreviewKeyDownEventHandler):Void 内への呼び出しを行います。
    この呼び出しを行うことによって、Control.add_PreviewKeyDown(PreviewKeyDownEventHandler):Void は
    間接的にユーザー コードに公開されます。セキュリティの保護を回避する方法を公開する可能性のある
    次の呼び出し履歴を確認してください:
    ->System.Windows.Forms.Control.add_PreviewKeyDown(System.Windows.Forms.PreviewKeyDownEventHandler) : Void
    ->AAAAA.Application.BBBBB.Forms.XXXXXForm.InitializeComponent : Void
    ->AAAAA.Application.BBBBB.Forms.XXXXXForm.#ctor
    (AAAAA.Application.BBBBB.Common.HogeConfig,
    System.String,
    AAAAA.Application.BBBBB.Common.HogeFlg) : Void
    --------------------------------
    (引用ここまで)

    回避方法として、

    [System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.LinkDemand,
    Flags = System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)]

    の文をコンストラクタの直前に定義する事により警告は外す事が出来たのですが、
    恥ずかしながらMSDNを読んでも理解が出来ませんでした。

    勝手な推測ですが、通常のKeyDownイベントだとTabキーのイベントは取れませんが、
    PreviewKeyDownイベントだと取得できます。
    この仕組みの部分(イベントの発行元?)に警告の理由があると思うのですが
    どうでしょうか?(的外れでしたら済みません。)

    理由がわからず外し方だけ知っているのもなんか悔しいので、
    どなたかわかる方いらっしゃいましたら噛み砕いて教えて頂けませんでしょうか?

    環境はVS2005(C#)/.net2.0(SP2)です。
    宜しくお願い致します。
親記事 /過去ログ58より / 関連記事表示
削除チェック/

■33303  Re[2]: VisualStudio2005でFlamework 1.1
□投稿者/ 偏屈 -(2009/02/25(Wed) 11:52:58)
    返信ありがとうございます。

    > 無理です。
    VS2008のように切り替えられる機能があるんじゃないかと思ったのですが
    残念です。

    >また、XMLコメントの警告をきりたいのですがきり方はあるでしょうか?
    > どんな警告がでるんですか?

    -----------------------------
    XML ドキュメント解析エラー: 無効な文字で名前が始まりました。 XML コメントは無視されます。
    XML コメント パラメータには 'name' 属性を指定しなければなりません。XML コメントは無視されます。
    -----------------------------
    上記のようなエラーです。
    VS2003で開発したソースなのでこのようなエラーは無視したいのです・・・。
記事No.33295 のレス /過去ログ58より / 関連記事表示
削除チェック/

■33306  Re[3]: VisualStudio2005でFlamework 1.1
□投稿者/ はつね -(2009/02/25(Wed) 12:06:26)
>
    No33303 (偏屈 さん) に返信
    > -----------------------------
    > XML ドキュメント解析エラー: 無効な文字で名前が始まりました。 XML コメントは無視されます。
    > XML コメント パラメータには 'name' 属性を指定しなければなりません。XML コメントは無視されます。
    > -----------------------------
    > 上記のようなエラーです。
    > VS2003で開発したソースなのでこのようなエラーは無視したいのです・・・。

    VS2003でつくったコードをVS2005で使っているのですね。
    このエラーを無視するオプションはなかったと思います。
    地道にVS2005でエラーがでないコードに書き換えた方がいいと思いますよ。

    いま書き換えておけば、まだまだしばらくは使えるコードになりますし。

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

■33352  Re[4]: 他のアプリのDataGridViewについて。
□投稿者/ momonga -(2009/02/26(Thu) 12:22:51)
    返信遅れて申し訳ありません。
    
    > つか、ManagedSpy はどこで手に入れました?
    > 
    > http://msdn.microsoft.com/ja-jp/magazine/cc163617(en-us).aspx
    > 
    > に、ManagedSpy のソースも他アプリの操作方法なんかも解説されてますけど、読んでます?
    
    ご指摘いただいた通り、テキストは読んでおりませんでした。
    ManagedSpyはそのまま、上記のサイトで入手しました。
    
    一通り頭の中で整理しながら読んでみました。
    「プロパティとイベントの全てにアクセスすることができます」
    このことから、DataGridViewプロパティの値や実行時のイベント(マウスのクリック等)を制御できることがわかりました。
    
    Event Name          |   Event Arguments
    -------------------------------------
    SelectionChanged    |   System.EventArgs
    CurrentCellChanged  |   System.EventArgs
    
    上記のイベントで選択しているセルを変えているみたいですが、セル選択時にどのセルを選んだか等の詳細がわからないのと、
    DataGridView内の文字列の(セルの値)検索はわかりませんでした。
    
    他のアプリでメソッドを使用することで、検索を行ったり出来ないかと考えたのですが可能なのでしょうか?
    もしくは他の方法があるのでしょうか?
記事No.33322 のレス /過去ログ58より / 関連記事表示
削除チェック/

■33506  タブ区切りのテキスト書き出しについて
□投稿者/ みかん -(2009/03/02(Mon) 23:06:46)

    分類:[C#] 

    申し訳ありません。先ほど途中で送信してしまいました。
    ----------------------------------------

    こんばんは。どなたかお力をかしていただけたらと思います。

    タブ区切りのテキストデータをを書き出したいです。
    可変のi (iは 1~10の中のいづれかの整数をとります)

    for (i=1; i<=10; i++)
    {
    writer.WriteLine("data" + "\t" + TargetElement[i].data );
    }

    と言う風に、iによってタブ区切りとデータを変えてテキストデータに落としたいです。
    例えばi=2のとき
    data <tab> TargetElement[1].data <tab> TargetElement[2].data
    というテキストデータを書き出したいです。

    どなたか、お知恵をかしていただければ幸いです。
    よろしくおねがいいたします。



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

次の20件>

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

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

パスワード/

- Child Tree -