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 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 >>
■69622  wpfでxamlファイルを相対パスで使うには
□投稿者/ meme -(2014/01/14(Tue) 17:25:01)

    分類:[.NET 全般] 

    WPFでxamlファイルを参照する方法で、xamlファイルを相対パスで指定する方法を探しています。

    xamlファイルを読み込んでプログラムを動作させることはできたのですが、そのxamlファイルの
    指定を相対パスで指定したいです。

    相対パスで指定したとき、コードの下部に波線ができ、
    『リソースディクショナリ"test.xaml"の検索中にエラーが発生しました。』
    と表示されました。

    フルパスではできて、相対パスではできないので何か設定などが間違っているのではないかと
    疑っているのですが、ネットを色々と調べても見つかりませんでした。


    お分かりの方いらっしゃいましたらよろしくお願いいたします。



    【xamlのソース】

    <Window x:Class="MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
    <Window.Resources>
    <ResourceDictionary Source="test.xaml"/>
    </Window.Resources>

    <Grid>
    <Button Content="ボタン"/>
    </Grid>
    </Window>




    【test.xamlのソース】

    <ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <Style TargetType="Button">
    <Setter Property="Background" Value="LightGreen" />
    </Style>

    </ResourceDictionary>

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

■69614  複数のプロジェクトにたいするdllの一括参照設定
□投稿者/ C#研究者 -(2014/01/13(Mon) 19:52:02)

    分類:[C#] 

    VS C# 2010 Windows7

    複数のプロジェクトに対応するために共通のコンポーネントクラスライブラリを作ったのですが、
    プロジェクトが何十個もあってプロジェクトごとに参照を一つづつ設定していくのが大変です。

    dllを作ったプロジェクトから逆に参照を作ったりする等
    なにか一括で設定できる方法はないのでしょうか。
    それでは失礼します。
親記事 /過去ログ119より / 関連記事表示
削除チェック/

■69619  Re[1]: 複数のプロジェクトにたいするdllの一括参照設定
□投稿者/ shu -(2014/01/13(Mon) 23:43:46)
    No69614 (C#研究者 さん) に返信

    > dllを作ったプロジェクトから逆に参照を作ったりする等
    自分が誰に使われるのかということを知ることは無理なので
    これは出来ません。


    IDEからの設定が大変ということであればプロジェクトファイルをテキストエディタで
    開いて直に参照を記述してしまうという手もあります。


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

■69623  Re[2]: 複数のプロジェクトにたいするdllの一括参照設定
□投稿者/ C#研究者 -(2014/01/14(Tue) 22:53:38)
    なるほど。
    教えてくださりありがとうございます。
記事No.69614 のレス / END /過去ログ119より / 関連記事表示
削除チェック/

■69624  Windowサービスからキックされるアプリ
□投稿者/ けんけん -(2014/01/15(Wed) 11:49:18)

    分類:[.NET 全般] 

    開発環境:VB2010
    OS:WinXP SP3

    処理の概要としましては、上記環境にてWindowsサービスを作成しそのサービス内で、上記環境で作成した
    Windowsアプリケーションをキックし、Windowsアプリ内でフォルダの存在確認をしております。
    現象としましては、Windowsアプリ内でローカルフォルダの存在確認をした場合は、正常にフォルダ有無が取得できて
    おりますが、ネットワークパスを指定するとフォルダの有無が取得できません。
    ※ネットワークドライブ、IP指定、コンピュター名のどれを指定しても取得できません。
    別EXEから上記Windowsアプリをキックした場合は、正常にフォルダ有無の取得ができます。
    (ネットワークパスのOS:WinXP SP3)

    何か原因が考えられるのでしょうか。
    下記にソースを記述します。

    '↓サービス側↓
    Protected Overrides Sub OnStart(ByVal args() As String)
    ' サービスを開始するコードをここに追加します。このメソッドによって、
    ' サービスが正しく実行されるようになります
    ' ProcessStartInfo の新しいインスタンスを生成する
    Dim hPsInfo As New System.Diagnostics.ProcessStartInfo()

    ' 起動するアプリケーションを設定する
    hPsInfo.FileName = "HamadaService_EXE.exe"

    '' コマンドライン引数を設定する
    'hPsInfo.Arguments = (i + 1).ToString

    ' 新しいウィンドウを作成するかどうかを設定する (初期値 False)
    hPsInfo.CreateNoWindow = False

    ' シェルを使用するかどうか設定する (初期値 True)
    hPsInfo.UseShellExecute = True

    ' 起動できなかった時にエラーダイアログを表示するかどうかを設定する (初期値 False)
    hPsInfo.ErrorDialog = False

    ' アプリケーションを起動する時の動詞を設定する
    hPsInfo.Verb = "Open"

    ' 起動ディレクトリを設定する
    hPsInfo.WorkingDirectory = "C:\Development\TEST\HamadaService_EXE\HamadaService_EXE\bin\Debug"

    ' 起動時のウィンドウの状態を設定する
    hPsInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal '通常

    ' ProcessStartInfo を指定して起動する
    System.Diagnostics.Process.Start(hPsInfo)

    End Sub
    '↑サービス側↑

    '↓Windowsアプリ↓
    Private Sub Form1_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
    Dim strLogPath As String = Path.Combine(My.Application.Info.DirectoryPath, "LOG")
    LOG = New OperationLog(strLogPath, "TRUE", 30)
    If Not Directory.Exists(strLogPath) Then
    Directory.CreateDirectory(strLogPath)
    End If
    Call LOG.Start()
    Call LOG.ScreenStart(Me.Text)

    Dim strDir As String = "\\128.167.89.169\R"
    'Dim strDir As String = "\\128.167.89.137\共有"
    'Dim strDir As String = "V:\"
    LOG.Write(1, strDir)
    If Directory.Exists(strDir) Then
    'If Directory.Exists("C:\hamada") Then
    LOG.Write(0, "ファイルあり")
    Else
    LOG.Write(0, "ファイルなし")
    End If


    End Sub
    '↑Windowsアプリ↑


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

■69625  Re[1]: Windowサービスからキックされるアプリ
□投稿者/ shu -(2014/01/15(Wed) 11:54:34)
    No69624 (けんけん さん) に返信

    サービス起動ユーザーに該当ネットワークフォルダへのアクセス権が
    ないのではないでしょうか?
    net useとかAPIでネットワークフォルダアクセスの為に認証をする
    必要があると思われます。
記事No.69624 のレス /過去ログ119より / 関連記事表示
削除チェック/

■69626  Re[2]: Windowサービスからキックされるアプリ
□投稿者/ けんけん -(2014/01/15(Wed) 12:02:21)
    No69625 (shu さん) に返信
    > ■No69624 (けんけん さん) に返信
    >
    > サービス起動ユーザーに該当ネットワークフォルダへのアクセス権が
    > ないのではないでしょうか?
    > net useとかAPIでネットワークフォルダアクセスの為に認証をする
    > 必要があると思われます。

    ご回答ありがとうございます。
    上記Windowsアプリケーションを単体で起動させた場合、フォルダ有無は取得できているのですが
    その場合でも認証が必要なのでしょうか。
記事No.69624 のレス /過去ログ119より / 関連記事表示
削除チェック/

■69627  Re[3]: Windowサービスからキックされるアプリ
□投稿者/ shu -(2014/01/15(Wed) 13:22:21)
    No69626 (けんけん さん) に返信

    > ご回答ありがとうございます。
    > 上記Windowsアプリケーションを単体で起動させた場合、フォルダ有無は取得できているのですが
    > その場合でも認証が必要なのでしょうか。
    Windowsログインユーザとサービス実行ユーザは異なる可能性が高いのでWindowsログインユーザに
    権限があってもサービス実行ユーザには権限がない可能性があります。
記事No.69624 のレス /過去ログ119より / 関連記事表示
削除チェック/

■69631  Re[3]: Windowサービスからキックされるアプリ
□投稿者/ 魔界の仮面弁士 -(2014/01/15(Wed) 14:10:07)
    No69626 (けんけん さん) に返信
    > 上記Windowsアプリケーションを単体で起動させた場合、フォルダ有無は取得できているのですが
    > その場合でも認証が必要なのでしょうか。

    サービスで使用されるアカウントは、何をお使いですか?
    http://salaryman-life.blogspot.jp/2011/03/local-system.html


    もう一つ。自動起動でサービスを利用する場合、ネットワーク サービスがまだ初期化されておらず、
    リモート サーバーの名前を DNS を介して解決できないというケースもあると聞いたことがあります。
記事No.69624 のレス /過去ログ119より / 関連記事表示
削除チェック/

■69632  Re[4]: Windowサービスからキックされるアプリ
□投稿者/ けんけん -(2014/01/15(Wed) 14:14:52)
    No69631 (魔界の仮面弁士 さん) に返信
    > ■No69626 (けんけん さん) に返信
    >>上記Windowsアプリケーションを単体で起動させた場合、フォルダ有無は取得できているのですが
    >>その場合でも認証が必要なのでしょうか。
    >
    > サービスで使用されるアカウントは、何をお使いですか?
    > http://salaryman-life.blogspot.jp/2011/03/local-system.html
    >
    >
    > もう一つ。自動起動でサービスを利用する場合、ネットワーク サービスがまだ初期化されておらず、
    > リモート サーバーの名前を DNS を介して解決できないというケースもあると聞いたことがあります。

    魔界の仮面弁士 さん
    回答ありがとうございます。

    アカウントはLocal Systemを使用しております。
    サービスについては、現在手動実行で試しております。
記事No.69624 のレス /過去ログ119より / 関連記事表示
削除チェック/

■69639  Re[1]: Windowサービスからキックされるアプリ
□投稿者/ オショウ -(2014/01/16(Thu) 02:16:55)
    No69624 (けんけん さん) に返信

      WinXPだから、動作した・・・
      と言う点を忘れないでください。

      Vista以降なら、Windowsアプリをキックした際、エラーとなる可能性もあります。

      要は、Windowsサービスは、デスクトップウィンドウを持たないので、Windowを持つ
      アプリを起動した場合、ウィンドウ生成段階でエラーとなる場合があります。
      一般的には、コンソールアプリケーションとして作成しますが、何も画面表示を行わ
      ないように作成します。

      あと、Session 0 分離でしょうか・・・
      http://msdn.microsoft.com/ja-jp/library/windows/hardware/gg463353.aspx

      その他としては、先に投稿されておりますアクセス権限の問題です。
      サービスがLocalSystemですので、起動されたプロセスもそれを継承します。
      サービスのログオンユーザーを、デスクトップログインユーザーに変更することは、
      基本、オススメしません。

      ただ、昨今、偽装のプログラムを正しく書くと言う記事を、いろいろ検索しても見当
      たらないのが現状で・・・
      まぁ〜正しく書くならWin32 API 使わないとダメなうえ、そのサービスにデスクトッ
      プへのアクセス許可も与えないといけなくなりますので、かなりオオゴトなプログラ
      ムになってしまいます。

      簡単に・・・とするのであれば、別プロセスを起動せず、サービス上でそのまま実行
      できるようにすれば、サービスの権限設定のみで回避できるようになると思います。

    ※ 因みに私はサービス上ですべて行うように書いてます。
      正しく権限設定できれば、FileSystemWatcherでの監視も可能になったと記憶していま
      す。

    ※ WinXP自体、サポートが終わるので、Vista以降でも正常に動作する・・・
      と言う手法を習得されるのが、先々よいのでは・・・と考えます。

    以上。参考まで
記事No.69624 のレス /過去ログ119より / 関連記事表示
削除チェック/

■69628  Tabコントロールに割り振られたイベントハンドラ呼び出し
□投稿者/ morimori -(2014/01/15(Wed) 13:23:05)

    分類:[C#] 

    C# 2010 Windows7 Home

    morimoriです。
    GrapCityのC1Ribbonを使っておりまして、タブを選択したとき(Selectイベント)のイベントを処理するために
    どちらの方法がいいか迷っております。
    仮にどちらかがやめたほうがいい方法の場合は教えてくだされば幸いです。

    @Selectイベントの中にcase文でタブのインデックスごとに各タブで処理しているメソッドを並べる。
    ATabPageオブジェクトを取得してSelectイベントに割り振られているイベントを呼び出す。

    Aのほうがcase分が不要で二度手間にならない方法だと思うのですが、
     その方法がわかりません。
    Aのほうが良いと思われる方はイベントハンドラに割り振られたメソッド呼び出す方法も
     教えてください。それでは失礼します。
親記事 /過去ログ119より / 関連記事表示
削除チェック/

■69629  Re[1]: Tabコントロールに割り振られたイベントハンドラ呼び出し
□投稿者/ shu -(2014/01/15(Wed) 13:35:30)
    No69628 (morimori さん) に返信
    > C# 2010 Windows7 Home
    >
    > morimoriです。
    > GrapCityのC1Ribbonを使っておりまして、タブを選択したとき(Selectイベント)のイベントを処理するために
    > どちらの方法がいいか迷っております。
    > 仮にどちらかがやめたほうがいい方法の場合は教えてくだされば幸いです。
    >
    > @Selectイベントの中にcase文でタブのインデックスごとに各タブで処理しているメソッドを並べる。
    > ATabPageオブジェクトを取得してSelectイベントに割り振られているイベントを呼び出す。
    >
    > Aのほうがcase分が不要で二度手間にならない方法だと思うのですが、
    >  その方法がわかりません。
    > Aのほうが良いと思われる方はイベントハンドラに割り振られたメソッド呼び出す方法も
    >  教えてください。それでは失礼します。
    GrapCityのC1Ribbonが手元にないので実装方法は提示の通り可能だとして回答します。
    1の方法はインデックスが変わるとコードを修正しなければならないので
    出来るだけ2の方法にした方がよいように思います。パフォーマンス的に明らかに1が速いということで
    あれば1にするのも仕方がないかと思います。中間的な方法になるかもしれませんがインデックスから
    タブを取得することが出来ればコード修正をしなくてもよいかもしれません。

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

■69633  Re[2]: Tabコントロールに割り振られたイベントハンドラ呼び出し
□投稿者/ morimori -(2014/01/15(Wed) 14:53:11)
    shuさん

    中間的な方法で試してみましたが、同じインデックスを設定してもSelectイベントは発生しませんでした。
    選択しているTabPageのオブジェクトは取得できるのですが、TabPageによってそれぞれ
    イベントハンドラに当てているメソッドが違うので

    例)○○Designer.csより
    this.ribbonTab1.Select += new System.EventHandler(this.TypeASelect);
    this.ribbonTab2.Select += new System.EventHandler(this.TypeBSelect);
    this.ribbonTab3.Select += new System.EventHandler(this.TypeCSelect);
    this.ribbonTab4.Select += new System.EventHandler(this.TypeDSelect);
    this.ribbonTab5.Select += new System.EventHandler(this.TypeESelect);

    イベントハンドラにあてはめているメソッドを呼び出したいのですが、
    どのように呼び出せばよろしいでしょうか。

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

■69635  Re[3]: Tabコントロールに割り振られたイベントハンドラ呼び出し
□投稿者/ shu -(2014/01/15(Wed) 17:37:44)
    No69633 (morimori さん) に返信

    > 選択しているTabPageのオブジェクトは取得できるのですが
    これをSelectedTabPageとして

    if (SelectedTabPage == ribbonTab1)
    TypeASelect(ribbonTab1, EventArgs.Empty);
    ・・・

    こんなイメージで呼べばよいのではないでしょうか?
記事No.69628 のレス /過去ログ119より / 関連記事表示
削除チェック/

■69640  Re[4]: Tabコントロールに割り振られたイベントハンドラ呼び出し
□投稿者/ morimori -(2014/01/16(Thu) 08:52:10)
    なるほど。ありがとうございます。
記事No.69628 のレス / END /過去ログ119より / 関連記事表示
削除チェック/

■69647  コントロールの下にパネルを動的に敷く
□投稿者/ C#研究者 -(2014/01/16(Thu) 23:42:04)

    分類:[C#] 

     フォームに乗っているコントロールの下にパネルを引こうと思ったのですが、
     うまくいきません、このようなソースで引けるかと思ったのですが、
     まだらにラベルが敷かれていないコントロールができてしまいました。
     どうすればよいのでしょうか。

     Form1:Loadメソッド内より

    foreach (Control ctrl in this.Controls)
    {
    Panel panel = new Panel();
    panel.Location = ctrl.Location;
    panel.Size = ctrl.Size;

    panel.Controls.Add(ctrl);
    ctrl.Dock = DockStyle.Fill;
    }
親記事 /過去ログ119より / 関連記事表示
削除チェック/

■69649  Re[1]: コントロールの下にパネルを動的に敷く
□投稿者/ 魔界の仮面弁士 -(2014/01/17(Fri) 01:03:08)
    2014/01/17(Fri) 01:40:04 編集(投稿者)

    No69647 (C#研究者 さん) に返信
    > うまくいきません、このようなソースで引けるかと思ったのですが、
    既に配置済みのコントロールに対して、別の親に Controls.Add し直した場合、
    親コントロール(コンテナコントロール)が変更されます。

    すなわち、panel.Controls.Add(ctrl); を実行することによって
    this.Controls コレクションの中身が減少してしまうわけです。
    foreach の最中に、このような増減があってはなりません。


    > どうすればよいのでしょうか。
    列挙しながら置き換えるのではなく、対象コントロールを
    配列や List<> に予め取り出しておき、それを操作しましょう。
    たとえばこんな感じ。


    var controls = this.Controls.OfType<Control>().ToArray();
    //var controls = this.Controls.OfType<Label>().ToArray();
    foreach (Control ctrl in controls)
    {
     Panel panel = new Panel();
     panel.Location = ctrl.Location;
     panel.Size = ctrl.Size;
     panel.Controls.Add(ctrl);
     panel.BorderStyle = BorderStyle.FixedSingle;
     ctrl.Dock = DockStyle.Fill;
     this.Controls.Add(panel);
    }
記事No.69647 のレス /過去ログ119より / 関連記事表示
削除チェック/

■69650  Re[2]: コントロールの下にパネルを動的に敷く
□投稿者/ C#研究者 -(2014/01/17(Fri) 06:17:00)
    foreachの特徴をすっかり忘れておりました。
    教えてくださりありがとうございます。
記事No.69647 のレス / END /過去ログ119より / 関連記事表示
削除チェック/

■69634  シンボルの検索結果をすべてコピー
□投稿者/ morimori -(2014/01/15(Wed) 16:14:36)

    分類:[C#] 

    変数を選択して右クリックですべての参照をクリックすると
    下にシンボルの検索結果が表示されるのですが、一つづつしかコピーができず困っております。

    Webでも方法をいくらか見たのですが、長文のマクロを作成して使っているものしかありません。
    すべてコピーするのにそこまでしなければいけないのかという疑問があり、
    質問を上げてみました。

    恐縮ですがどなたか良い方法をご存知の方がいらっしゃれば教えてください。


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

<前の20件 | 次の20件>

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 >>

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

パスワード/

- Child Tree -