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

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

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

全過去ログを検索

<< 0 >>
■13048  スタートページから飛んだ画面のFocusSet
□投稿者/ みにょ -(2008/01/23(Wed) 21:12:59)

    分類:[.NET 全般] 

    環境vb2005 
    スタートページロード時にPCのIPを取得して、次画面のtextboxにFocusをあてる方法を教えてください
    スタートページ非表示とIP取得はわかった(透明にする)のですが
    ロード時にForm1.show()と書いて飛んだ先でtopmost = true とした時
    スタートページは後ろに隠れるのですがスタートページのロードが終わったときには
    Focusはスタートページにあるのです。
    スタートページにはツールボックスはつかいません。
    ロード時だけで完結できませんか?
親記事 /過去ログ28より / 関連記事表示
削除チェック/

■47259  Re[5]: 再描画について・・・
□投稿者/ 通り過ぎ -(2010/02/23(Tue) 10:59:39)
    No47258 (NSK さん) に返信
    > ■No47257 (通り過ぎ さん) に返信
    >>■No47252 (NSK さん) に返信
    > >>■No47246 (Azulean さん)
    >
    > みなさん^−^n 返信ありがとうございます 皆さんに教えてもらったサイトを参考に頑張ってみようと思います
    > みなさんありがとうございました。
    頑張ってね。(^_^)v
記事No.47245 のレス / END /過去ログ80より / 関連記事表示
削除チェック/

■69706  RCAで出力されたデータをPCに取り込む方法
□投稿者/ vbb -(2014/01/22(Wed) 17:32:20)

    分類:[.NET 全般] 

    RCAのアナログ動画をPCに取り込んで、画像処理を行おうと思っています。
    まず、初めにwebカメラを使用して動画の再生及び画像処理を行うところまで
    作ることができました。(vb.net : Visual Basic 2010 Express 使用)

    その後、ソフトウェアエンコーダー(IOData,GV-USB2)を用いて
    動画を再生しようとしたのですが、映像が真っ暗になってしまい、
    再生させることができませんでした。

    検索を行ったところ、何かしらのドライバーを読み込まなければ
    ならないみたいで、途方に暮れています。
    http://www.page.sannet.ne.jp/y_ishikawa/diaryText/201007/diary.html
    (AMCAPならば、再生できたのですが、一から解析を行うには時間が足りません)

    考え方を変えて、webカメラと同等の動作をする
    ソフトウェアエンコーダが無いか探すことにしました。

    BUFFALOのPC-SDVD/U2G等を考えているのですが、
    購入して動作確認を行う前に、
    有益な情報をお持ちの方がおられましたら、お教え下さい。
親記事 /過去ログ119より / 関連記事表示
削除チェック/

■90379  ファイル選択用コントロールはない?
□投稿者/ としぞー -(2019/03/05(Tue) 16:08:21)

    分類:[C#] 

    初めまして。DelphiからC#へ移行しつつある者です。
    Delphiでは、
     TDriveComboBox
     TDirectoryListBox
     TFileListBox
    というコンポーネントがあり、これらをフォームに配置しますと、
    ドライブ、フォルダを指定後、選択したファイルの名前をフルパスで取得できます。
    (エクスプローラと似た感じです)
    これと同じようなコントロールがC#に見当たらないのですが、何か手立てはないでしょうか。
    (ダイアログボックスのようではなく、常にファイルがフォーム上に見えている状態のものが欲しいのです)

    色々検索して、以下のサイトを参考にしてエクスプローラ風の表示はできたのですが、
    選択したファイル名を取得する方法が分からず・・・
    https://www.ipentec.com/document/csharp-shell-namespace-create-explorer-tree-view-control-and-linked-list-view

    以上、宜しくお願い致します。
親記事 /過去ログ156より / 関連記事表示
削除チェック/

■90381  Re[1]: ファイル選択用コントロールはない?
□投稿者/ 魔界の仮面弁士 -(2019/03/05(Tue) 17:21:32)
    2019/03/05(Tue) 17:36:33 編集(投稿者)

    No90379 (としぞー さん) に返信
    > 初めまして。DelphiからC#へ移行しつつある者です。
    > Delphiでは、
    >  TDriveComboBox
    >  TDirectoryListBox
    >  TFileListBox
    > というコンポーネントがあり、これらをフォームに配置しますと、
    > ドライブ、フォルダを指定後、選択したファイルの名前をフルパスで取得できます。
    > (エクスプローラと似た感じです)

    Windows 3.1 時代のコモンダイアログが、そんなインターフェイスでしたね。

    Delphi アプリが手元に無いので確認できませんが、
    この場合 UNC パスのもの、たとえば
     @"\\server\shared\folder1\folder2\fileName.txt"
    のようなファイル指定は行えないのでしょうか?


    > これと同じようなコントロールがC#に見当たらないのですが、何か手立てはないでしょうか。

    参照設定で「Microsoft.VisualBasic.Compatibility」アセンブリを加えれば、
    Microsoft.VisualBasic.Compatibility.VB6 名前空間にある
     DriveListBox
     DirListBox
     FileListBox
    のコントロールをフォームに貼って使うことができます。
    (設計の古い Obsolete なクラスなので、非推奨ではありますが)


    > 色々検索して、以下のサイトを参考にしてエクスプローラ風の表示はできたのですが、
    > 選択したファイル名を取得する方法が分からず・・・
    Windows API CodePack の
    Microsoft.WindowsAPICodePack.Controls.WindowsForms.ExplorerBrowser クラスでも良ければ:


    // using Microsoft.WindowsAPICodePack.Shell;
    private void Form1_Load(object sender, EventArgs e)
    {
      explorerBrowser1.Navigate(ShellObject.FromParsingName(@"C:\"));
    }

    private void explorerBrowser1_SelectionChanged(object sender, EventArgs e)
    {
      List<ShellObject> items = explorerBrowser1.SelectedItems.ToList();
      string[] pathList = items.Where(x => x.IsFileSystemObject).Select(x => x.GetDisplayName(DisplayNameType.FileSystemPath)).ToArray();

      listBox1.DataSource = pathList;
    }
記事No.90379 のレス /過去ログ156より / 関連記事表示
削除チェック/

■90380  Re[1]: ファイル選択用コントロールはない?
□投稿者/ とっちゃん -(2019/03/05(Tue) 16:55:13)
    No90379 (としぞー さん) に返信
    > 初めまして。DelphiからC#へ移行しつつある者です。
    > Delphiでは、
    >  TDriveComboBox
    >  TDirectoryListBox
    >  TFileListBox
    > というコンポーネントがあり、これらをフォームに配置しますと、
    > ドライブ、フォルダを指定後、選択したファイルの名前をフルパスで取得できます。
    > (エクスプローラと似た感じです)

    この3つのコントロールを使ったウィンドウというと、3.1 のファイルダイアログが一番近い気がします。
    というか、その当時から用意されているものでそのまんま残っているものですし。

    > これと同じようなコントロールがC#に見当たらないのですが、何か手立てはないでしょうか。
    > (ダイアログボックスのようではなく、常にファイルがフォーム上に見えている状態のものが欲しいのです)
    >
    ファイルダイアログなど賄うのではなく。。。となると、現状では用意されていません。
    TDriveComboBox などの互換コントロールが必要なら、自作するしかありません。

    もしかしたらそういうコンポーネントを出しているところがあるかも。。。と一瞬思いましたが DriveListBox があるので、多分用意されていないでしょう(今どきとも違っているのでわざわざ作るメリットもない)。

    TDriveComboBox は、ドライブを列挙するコンボボックスなので、DriveInfo.GetDrives() とかでリストアップできます。
    選択が変更されたら、連携設定した TDirectoryListBox/TFileListBox にルートフォルダをセットしてやれば、リストアップをリセットできます。
    TDirectoryListBox は、Directory.GetDirectories() でディレクトリを列挙できます。変更したら、自分自身をリストアップしなおしつつ、TFileListBox を更新します。
    TFileListBox は、 や Directory.GetFiles() でファイルを列挙できます。

    パスの取り出しをどうするかは、TFileListBox からたどるか、TFileListBox の個々のアイテムにフルパスを格納しておくかで対応できます。
    どうするかは作りて次第なのでお好きな形で実装すればよいと思います。



    > 色々検索して、以下のサイトを参考にしてエクスプローラ風の表示はできたのですが、
    > 選択したファイル名を取得する方法が分からず・・・
    > https://www.ipentec.com/document/csharp-shell-namespace-create-explorer-tree-view-control-and-linked-list-view
    >

    こちらは、見てくれも内容もエクスプローラとほとんど同じかたちで実現しています。
    今何が選択されているかは、リストビューの選択アイテムを見ればOKです。

    具体的には、ShellItemがセットされています。詳しくは、FillItem あたりをみてください。

    選択されたアイテムの処理については、 OnDoubleClick がわかりやすいと思います。
    var si = (ShellItem)SelectedItems[0].Tag;
    または、
    var si = SelectedItems[0].Tag as ShellItem;
    でいいと思います。

    ファイルかどうかの判定は

    if( si.IsFileSystem && !si.IsFolder )
    {
    // ファイル(もしかしたらショートカット)
    if( si.IsLink )
    {
    // ショートカットファイル
    }
    else
    {
    // 普通のファイル
    }
    }
    とします。
    IsFileSystem が true なら、si.Path でフルパスが取得できます。
    そうじゃない場合、ファイルパスは取り出せません(GUIDが取れる場合もあるが空文字列の場合もある)。


    リストアップの条件を色々変えたいという場合は、GetSubItems を加工します。
    このサンプルでは、zipを展開するかどうかだけフラグを持っていますね。

    システム属性や隠し属性をどうするかとか、あれは?これは?などなど。。。通常のファイルの列挙なんかとは異なるレベルでいろいろあります。
記事No.90379 のレス /過去ログ156より / 関連記事表示
削除チェック/

■90382  Re[1]: ファイル選択用コントロールはない?
□投稿者/ PANG2 -(2019/03/05(Tue) 17:27:41)
記事No.90379 のレス /過去ログ156より / 関連記事表示
削除チェック/

■90389  Re[2]: ファイル選択用コントロールはない?
□投稿者/ としぞー -(2019/03/06(Wed) 11:06:09)
    とっちゃんさん、ありがとうございます。
    まだ初めて一週間くらいですので何が正解か分からず、
    とりあえずエラーが出ないのでOKと判断しているレベルですが、
    ExplorerListView.csに以下を追加し、
    
        public string sFilePath;
    
        protected override void OnSelectedIndexChanged(EventArgs e)
        {
          if (SelectedItems.Count > 0)
          {
            var si = (ShellItem)SelectedItems[0].Tag;
            if (si.IsFileSystem) {
              sFilePath = si.Path;
              if (si.IsFolder) {
                //フォルダ
              }
              else {
                if (si.IsLink) {
                  //ショートカットファイル
                }
                else {
                  //普通のファイル
                }
              }
            }
            else {
              //フォルダ・ファイル以外
            }
          }
          base.OnSelectedIndexChanged(e);
        }
    
    フォームのほうに以下を追加すると、無事フルパスを取得できました。
    
        private void explorerListView1_SelectedIndexChanged(object sender, EventArgs e)
        {
          label1.Text = explorerListView1.sFilePath;
        }
    
    ただ、ExplorerTreeViewの方でフォルダを変更するとそれに追従して
    ExplorerListViewもフォルダが変更されるので問題ないのですが、
    その逆ではExplorerTreeViewのフォルダが変更されないので
    使い勝手がいまいちでした・・・。
    この辺りも対応できればいいのですが、今のレベルではさっぱりです^^;
    
    
    魔界の仮面弁士さん、 PANG2さん、ありがとうございます。
    DriveListBox
    DirListBox
    FileListBox
    を使うことができました。これで(見た目寂しいですが・・)なんとかできそうです。
    
    Windows API CodePack はネットがつながった環境でしかインストールできないのですかね?
    スタンドアロンPCなのでこれは断念しました・・・。
    
記事No.90379 のレス /過去ログ156より / 関連記事表示
削除チェック/

■90390  Re[3]: ファイル選択用コントロールはない?
□投稿者/ 魔界の仮面弁士 -(2019/03/06(Wed) 14:13:03)
    No90389 (としぞー さん) に返信
    > Windows API CodePack はネットがつながった環境でしかインストールできないのですかね?

    ファイルの入手のために、オンラインの端末は必要ですが、
    開発環境についてはオフラインでも大丈夫ですよ。

    https://www.nuget.org/packages/WindowsAPICodePack-Shell/
    https://www.nuget.org/packages/WindowsAPICodePack-Core/

    上記NuGet ページのサイドバーにある "Download package" から入手した
    .nupkg をオフライン端末のローカルにコピーしてやれば OK です。


    > スタンドアロンPCなのでこれは断念しました・・・。
    まずは Visual Studio のパッケージマネージャの設定に、
    .nuget ファイルのあるディレクトリを指定します。

    Visual Studio のバージョンによって多少の違いはありますが、[ツール]-[オプション]の中に
    "パッケージ マネージャー" または "NuGet パッケージ マネージャー" があって、
    その下に「パッケージ ソース」ノードがあるはず。

    オフラインとのことなので、初期設定にある https://www.nuget.org/api/v2/ のチェックを外し、
    代わりに、先ほどのローカルディレクトリを追加して、チェックを入れておきます。


    あとはオンライン時と同様に、"WindowsAPICodePack-Shell" を NuGet すれば
    必要なライブラリがプロジェクトに取り込まれます。



    別案としては、GitHub ページの [Clone or download] - [Download Zip] から
      Microsoft.WindowsAPICodePack.dll
      Microsoft.WindowsAPICodePack.ShellExtensions.dll
    のバイナリ(あるいはそれを生成するためのソースコード)を入手する方法もありますが、
    通常は NuGet パッケージを用いた方が管理しやすいかと。
記事No.90379 のレス /過去ログ156より / 関連記事表示
削除チェック/

■90393  Re[4]: ファイル選択用コントロールはない?
□投稿者/ としぞー -(2019/03/07(Thu) 10:45:43)
    No90390 (魔界の仮面弁士 さん) に返信

    ダウンロードはできたのですが、パッケージマネージャが何のことかわからず調べていますと、
    VS2010の場合は Express Edition はダメなようでした(↓)。残念です。
    http://yohshiy.blog.fc2.com/blog-entry-236.html

    春になったらVS2012を会社のシステム部門からもらえるようなので、それまで待ってみます。
    そのときまたお世話になるかもしれませんが、宜しくお願い致します。
記事No.90379 のレス /過去ログ156より / 関連記事表示
削除チェック/

■90449  Re[5]: ファイル選択用コントロールはない?
□投稿者/ としぞー -(2019/03/12(Tue) 13:01:44)
    解決済みとします。
記事No.90379 のレス / END /過去ログ156より / 関連記事表示
削除チェック/

■102215  Re[2]: equalizerをリセット出来ない
□投稿者/ トア -(2023/07/26(Wed) 22:50:54)
     radianさん
    
    >コメントアウトした理由がよく分からないんですが。問題点は何ですか?
    新しいフォームが開いた時、イコライザーフォームでチェックボックスをオンとトラックバーの値を設定した時、OKを押すと非表示にしました。
    その際に再度equalizerを開くとリセットボタンを押すと元の音にならないことが問題点です。
    これを改善したいと質問させて頂きました。
    
    WebSurferさん
    
    >参考サイトは WPF アプリ、質問者さんが作っているのは Windows Forms アプリのようですが
    >その違いを分かってますか?
    
    そのサイトのデザインだけをWindows Forms アプリに作りました。
    
    >・・・と言うところから、は関係なくて、Windows Forms アプリの作り方の
    >基本的なところに問題がありそうな気がします。
    
    >もしそうであれば、BASS.NET などは一切なしでその部分のコードの未提示してもらえば、
    >見てくれる人が増えて、回答が得やすくなると思います。
    
    分かりました。ありがとうございます。
    
    魔界の仮面弁士さん
    
    >このコードがあるということは、Form1 上には
    >「private equalizer? eqInstance = null;」もしくは
    >「private equalizer eqInstance = null!;」あるいは
    >「private equalizer eqInstance = null;」といった
    >フィールド宣言があるということでしょうか。
    
    private equalizerForm equalizerForm;
    を使用しています。
    
    Form1.csを書き忘れました。
    
    private void イコライザーToolStripMenuItem_Click(object sender, EventArgs e)
            {
                if (equalizerForm == null || equalizerForm.IsDisposed)
                {
                    equalizerForm = new equalizerForm(this);
                    equalizerForm.FormClosed += (s, ev) =>
                    {
                        equalizerForm = null;
                    };
                }
    
                // equalizerFormを表示する前に、現在のインスタンスを非表示にする
                if (equalizerForm.Visible)
                {
                    equalizerForm.Hide();
                }
    
                // equalizerFormを表示する
                equalizerForm.Show();
            }
    
    BASS\EQ\の中
    「equalizerForm.cs」
    「EQualizer.cs」
    「IEQualizer.cs」
    BASS\Player\
    「AudioPlayer.cs」
    プロジェクト名
    「Form1.cs」
    再生用の画像フォルダpng\
    以下のファイルにクラス入れています。(書き忘れてすいません)
    
    > if (sender is TrackBar tb)
    > {
    >  int index = Array.IndexOf(trackbars, tb);
    >  BassEQ.BASS_UpdateEQ(fxEQ, index, (float)tb.Value);
    >  tip.SetToolTip(tb, $"{tb.Value}");
    > }
    
    ご指摘された通りトラックバーを纏めて出来ました。
    
    最後に
    private void button1_Click(object sender, EventArgs e)
            {
                // チェックボックスがチェックされている場合のみ、イコライザーの設定を更新する
                if (CheckBox1.Checked)
                {
                    // 一旦イコライザーの設定を削除
                    // form1.BASS_ChannelRemoveEQ(); ここを追加しました。
    // トラックバーの値をイコライザーに設定
                    //form1.fxEQ[0] = TrackBar1.Value;
    //以下省略
                }
               }
    equalizerForm.cs
    
    private Form1 form1;
    public equalizerForm(Form1 form1)
            {
                InitializeComponent();
                this.form1 = form1;
    }
    
    Form1には
    public readonly EQualizer BassEQ = new();
            public readonly int[] fxEQ = new int[11];を入れてます。
    
    radianさん
    WebSurferさん
    魔界の仮面弁士さんありがとうございました。
    一旦解決済みとさせて頂きます。
    
記事No.102196 のレス / END /過去ログ178より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -