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

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

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

全過去ログを検索

<< 0 >>
■6464  XML 指定行読み出し
□投稿者/ トラャ -(2007/08/14(Tue) 21:31:15)

    分類:[.NET 全般] 

    前回も同じようなことを質問したのですが、今回はXML文書の指定した行だけを読み出すという処理を作りたいのですが、どうしたらよいでしょうか?

    <common>
    <test>
    <key name="aaa" value="???" />
    <key name="bbb" value="zzz" />
    <key name="ccc" value="//" />
    </test>
    <con>
    <key name="ddd" value="???" />
    <key name="eee" value="zzz" />
    <key name="fff" value="//" />
    </con>
    </common>


    このようにあるとき、

    <key name="eee" value="zzz" />

    だけを抽出するという処理です。

    なにかよい方法があればアドバイスお願いします。
    環境についてですが、前回同様
    Visual Studio 2003
    Visual Basic .NET
    Windows Application
    で作成しています。
親記事 /過去ログ17より / 関連記事表示
削除チェック/

■6463  HtmlElementCollectionni
□投稿者/ らじゃ -(2007/08/14(Tue) 21:23:27)

    分類:[.NET 全般] 

    HtmlElement[]型

    あるいは

    List<HtmlElement>型

    という形で複数のHtmlElementがあるときに、これをHtmlElementCollection型にする方法は存在するでしょうか?
    (もちろん、各要素のHtmlElementは、同一のdocumentに存在するという条件で。)


    私の知る限りでは、HtmlElementCollectionはGetElementsByTagNameなどの戻り値として得るしか方法がなく、HtmlElementCollectionクラス自身には要素を操作するメソッドや、新規に内容を設定できるようなコンストラクタがありません。
    別のクラスのメソッドなどで変換できるのではと探しましたが、これも発見できませんでした。

    よろしくお願いいたします。

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

■87094  フォームを常に全面にし、操作だけは背面の画面に反映
□投稿者/ 対中率 -(2018/04/11(Wed) 14:41:51)

    分類:[C#] 

    .NET Framework 4.6.1 C#

    現在、デスクトップ画面上から指定した範囲内を連続キャプチャし、GIF画像を生成するソフトを作っています。
    マウスのドラッグドロップで範囲指定し、1枚画像をキャプチャするところまでできたのですが、これを連続撮影するように改修しています。
    撮影中は枠線のみ表示した透明なForm(撮影範囲がわかるように)を表示させた状態にしたいです。
    そのため、フォームを最前面に配置したいのですが、最前面に配置してしまうとフォームの背面にある物に対して操作を受け付けなくなってしまいます。
    フォームを最前面にしつつ、キーボードやマウス操作のみ背面に反映する方法はないでしょうか。
    どなたか助言お願いします。
親記事 /過去ログ149より / 関連記事表示
削除チェック/

■87099  Re[1]: フォームを常に全面にし、操作だけは背面の画面に反映
□投稿者/ Hongliang -(2018/04/11(Wed) 17:00:17)
    Regionプロパティで、フォームの一部分だけを表示させるように指定できます。これを試してみてはいかがでしょうか。

    1. フォーム全域のRegionを作る
    2. ClientRectangleを取得してをボーダー分Offset
    3. 1のRegionに2のRectangleをExclude
記事No.87094 のレス /過去ログ149より / 関連記事表示
削除チェック/

■87101  Re[1]: フォームを常に全面にし、操作だけは背面の画面に反映
□投稿者/ 魔界の仮面弁士 -(2018/04/11(Wed) 21:45:15)
    No87094 (対中率 さん) に返信
    > フォームを最前面にしつつ、キーボードやマウス操作のみ背面に反映する方法はないでしょうか。

    枠線部もマウス操作を受け付けない方が良いでしょうか?


    private void button1_Click(object sender, EventArgs e)
    {
     var fw = new FrameWindow();
     fw.SetBounds(50, 100, 350, 250);
     fw.Show(this);
    }


    private class FrameWindow : Form
    {
     protected override CreateParams CreateParams
     {
      get
      {
       const int WS_EX_NOACTIVATE = 0x8000000; // アクティブにならないフォームにする
       const int WS_EX_TRANSPARENT = 0x20; // マウス操作を透過(要レイヤードウィンドウ)
       var cp = base.CreateParams;
       cp.ExStyle |= WS_EX_TRANSPARENT | WS_EX_NOACTIVATE;
       return cp;
      }
     }
     public FrameWindow()
     {
      ShowInTaskbar = false;
      TopMost = true;
      BackColor = Color.Blue; // 枠線色
      Padding = new Padding(9); // 枠線幅
      FormBorderStyle = FormBorderStyle.None;
      Controls.Add(new Control() { BackColor = Color.Magenta, Dock = DockStyle.Fill });

      // WS_EX_TRANSPARENT を有効にするには、
      // TransparencyKey をセットするか、もしくは
      // Opacity を 1.0 未満にする必要がある
      TransparencyKey = Color.Magenta;
     }
    }
記事No.87094 のレス /過去ログ149より / 関連記事表示
削除チェック/

■87109  Re[2]: フォームを常に全面にし、操作だけは背面の画面に反映
□投稿者/ 対中率 -(2018/04/12(Thu) 01:27:04)
    魔界の仮面弁士さんありがとうございます!
    希望通りの動作を100%実現することができました!
    助かりました



    No87101 (魔界の仮面弁士 さん) に返信
    > ■No87094 (対中率 さん) に返信
    >>フォームを最前面にしつつ、キーボードやマウス操作のみ背面に反映する方法はないでしょうか。
    >
    > 枠線部もマウス操作を受け付けない方が良いでしょうか?
    >
    >
    > private void button1_Click(object sender, EventArgs e)
    > {
    >  var fw = new FrameWindow();
    >  fw.SetBounds(50, 100, 350, 250);
    >  fw.Show(this);
    > }
    >
    >
    > private class FrameWindow : Form
    > {
    >  protected override CreateParams CreateParams
    >  {
    >   get
    >   {
    >    const int WS_EX_NOACTIVATE = 0x8000000; // アクティブにならないフォームにする
    >    const int WS_EX_TRANSPARENT = 0x20; // マウス操作を透過(要レイヤードウィンドウ)
    >    var cp = base.CreateParams;
    >    cp.ExStyle |= WS_EX_TRANSPARENT | WS_EX_NOACTIVATE;
    >    return cp;
    >   }
    >  }
    >  public FrameWindow()
    >  {
    >   ShowInTaskbar = false;
    >   TopMost = true;
    >   BackColor = Color.Blue; // 枠線色
    >   Padding = new Padding(9); // 枠線幅
    >   FormBorderStyle = FormBorderStyle.None;
    >   Controls.Add(new Control() { BackColor = Color.Magenta, Dock = DockStyle.Fill });
    >
    >   // WS_EX_TRANSPARENT を有効にするには、
    >   // TransparencyKey をセットするか、もしくは
    >   // Opacity を 1.0 未満にする必要がある
    >   TransparencyKey = Color.Magenta;
    >  }
    > }
記事No.87094 のレス / END /過去ログ149より / 関連記事表示
削除チェック/

■98589  Re[1]: 他のアプリ上にあるマウスポインタを消去する方法
□投稿者/ くま -(2021/12/05(Sun) 22:03:26)
    > マウスポインタの残骸
    これがどの様な状態か分かりませんが
    Tomさんの話されている「文字列を送信してマウスクリックさせる」の意味が
    a. マウスポインタを指定のテキストボックスに移動(アプリが操作)
    b. マウスポインタクリック動作(アプリが操作)
    c. 文字列を入力(アプリが操作)
    b. マウスポインタを指定のボタンに移動(アプリが操作)
    d. マウスポインタクリック動作(アプリが操作)
    とするならば
    a.の前にマウスポインタの位置を記録
    d.の後に記録しておいたマウスポインタの位置へ戻す
    をしないと実際のマウス位置と違うため操作しずらくなります。

    マウスポインタの位置を取得、変更(移動)する
    https://dobon.net/vb/dotnet/system/cursorposition.html

    自分の場合、相手のアプリにもよりますがWindowハンドルが取得できるコントロールなら
    (SPY++ で調べて判断)直接メッセージを送信します。
    でないとアプリ操作中は操作禁止を人が制御しないといけないからです。
    あとできるだけ相手のアプリは外部操作可能なものを選んでその方法を採用します
    ・office関連ならCOM ライブラリ
    ・ブラウザ操作ならseleniumとかWebView2とか
    ・コマンドプロンプトで操作できるならそちらから操作とか

    自分の経験では汎用的なアプリの操作としてマウスや入力を他のアプリから行うのはオススメできません。
    (練習や習熟の為なら構いませんが。)
    セキュリティもそうなんですが、とにかくコントロールが面倒なんです。
    Aの動作後、Bの動作までのタイミングは?とか考えると面倒で...。

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



<< 0 >>

パスワード/

- Child Tree -