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

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

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

全過去ログを検索

<< 0 >>
■23738  Re[6]: VS2005 Pro & Express の共存は可能?
□投稿者/ DD. -(2008/08/21(Thu) 11:40:41)
    解決済み忘れ。
記事No.23700 のレス / END /過去ログ44より / 関連記事表示
削除チェック/

■53996  Re[4]: StringをByte[]に
□投稿者/ ばいなり -(2010/10/01(Fri) 19:24:09)
    No53995 (Hongliang さん) に返信
    > byteArrayData を new してないんでしょう。
    > new するときに必要な要素数は文字列の長さから求められますよね?

    new byte[] byteArrayData;
    これでいいのでしょうか?
    文字列の長さは決まっていないのですが
    要素数は指定しないとエラーになりますか?
記事No.53992 のレス /過去ログ90より / 関連記事表示
削除チェック/

■83200  Re[5]: 32と64ビットプログラムの速度差
□投稿者/ 拓殖 -(2017/03/12(Sun) 11:40:13)
    No83180 (774RR さん) に返信

    Dim sss5 As Integer = 5
    Dim sss6 As Integer = 5


    Dim sss13 As Double = 5
    Dim sss14 As Double = 5


    sss6 = sss5 * sss5
    だけForループを繰り返すと2.2秒

    sss14 = sss13 * sss13
    だけForループを繰り返すと1.8秒

    になるのに


    sss6 = sss5 * sss5
    sss14 = sss13 * sss13

    と2つをForループで回すと足し算した4.0秒ではなく
    1.6秒となり、それぞれを回した時よりもなぜか速くなる結果が得られました。

    何度か試したみたのですがやはり速くなってしまいます。

    一体これはなぜなのでしょうか?

    fmul unroll のワードで検索をかけてみたのですが
    分かりやすい解説ページが見つかりませんでした。

    Forループ分の計算コストを見積もるためには
    どのようにすれば良いのでしょうか?


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

■92414  Re[1]: 消えないフォーム
□投稿者/ 魔界の仮面弁士 -(2019/09/24(Tue) 09:54:17)
    2019/09/24(Tue) 10:37:43 編集(投稿者)

    No92410 (犬夜叉 さん) に返信
    > Form2を作ります。
    > public From2()

    ありがちなミスですね。
    From / Form とか Namae / Name とか Expect / Except とか Drag / Drug とか…。


    > その状態でFomr2以外の場所をクリックすると

    こっちのスペルミスは珍しいかも。(^^;


    > private void From2_Load(object sender, EventArgs e)
    > {
    >  this.Capture = true;
    > }

    こんなことをしたら、Form2 上に TextBox があっても、
    その上にマウスを重ねても「I カーソル」になりませんよね。

    Form2 上のコントロールを選択する場合も、
    1 回目のクリックが捨てられてしまい、2 回目のクリックで
    ようやくアクティブになる状態となり、操作性が悪くなりそうですが…。


    > Form2をクリックすると、消えなくなります。

    最初のクリックで消えないのは、
     GetWindowContainState(this)
    で領域内かどうかを判定しているからですね。
    常に消したいなら、領域判定せずに Close(); すれば消えます。

    領域内であれ領域外であれ、一度クリックすれば、キャプチャーは終了するので、
    それ以降はもう、領域外操作では MouseDown イベントは発生しません。
    再 Capture するなどしない限りは。


    > Form2以外をクリックするとForm2が消えるようにするにはどうすればよいのでしょうか?

    RawInput を捉えるとか。

    // Install-Package SharpDX.RawInput

    あるいはマウスクリックに拘らないなら、Deactivate イベントで。

    public partial class Form2 : Form
    {
     public Form2()
     {
      InitializeComponent();
     }
     private void Form2_Load(object sender, EventArgs e)
     {
      Deactivate += delegate { Close(); };
     }
    }
記事No.92410 のレス /過去ログ159より / 関連記事表示
削除チェック/

■92864  Re[6]: VisualStudio2017でReportViewer
□投稿者/ 魔界の仮面弁士 -(2019/11/03(Sun) 14:59:32)
    No92861 (たかし さん) に返信
    > WebSurferさま。もちろんWinFormですよ。
    > 先にMicrosoftReportViewer.Winforms.dllと書いてあるはずです。

    参考にされていた Qiita の記事は、VB.NET + WinForm なプロジェクトでしたし、
    DLL の名前からも、「WinForm である可能性が高い」であろうという「予測」は立てられそうですね。


    自分の場合、前提条件がハッキリしないのなら、「いずれかのパターンと仮定して回答する」か
    「それぞれの可能性を考慮して、冗長的ではあるが各パターンごとに回答する」ようにしていますが、
    今回の一連の質問だと、ASP.NET WebForms で WinForms ライブラリが参照されている可能性や、
    Visual Studio のバージョン不整合の可能性も排除できないと思います。
    (VS のバージョンは未だ不明なままですね)


    ところで下記の、"Install ReportViewer Visual Studio 2019" というロシア語の動画では、
    WinForms (C#) のプロジェクトであるにも関わらず、ReportViewerControl のパッケージとして、
    WinForms ではなく、あえて WebForms の方を NuGet していたりします。
    http://j.mp/RepViewVS2019


    実際手元の環境で
    https://www.nuget.org/packages/Microsoft.ReportingServices.ReportViewerControl.Winforms/150.1358.0
    https://www.nuget.org/packages/Microsoft.ReportingServices.ReportViewerControl.Webforms/150.1358.0
    を比べた場合、両方の packages フォルダ配下に配置される DLL 群を比較すると、
    「Winforms」の方は、WebForms は存在せず、WinForms のライブラリだけが含まれているのに対し、
    「Webforms」の方は、WebForms だけでなく、WinForms のライブラリも含んでいました。なんでだー。
記事No.92818 のレス /過去ログ160より / 関連記事表示
削除チェック/

■92865  Re[6]: VisualStudio2017でReportViewer
□投稿者/ 魔界の仮面弁士 -(2019/11/03(Sun) 15:38:02)
    No92861 (たかし さん) に返信
    > Microsoft.ReportViewer.WinForms.dllの最新バージョンらしきもの(15.0.900.148)を
    > 以下のサイトからダウンロードしてDebugフォルダに上書きコピーしてみました。

    15.0.1358.0 の方が後のバージョンなのですが、依存関係の問題があるため、
    15.0.900.148 をそのまま使い続けてください。

    No92864 で紹介したロシア語動画のコメント欄でも、同様のトラブル報告(と解決策)が投稿されています。
記事No.92818 のレス /過去ログ160より / 関連記事表示
削除チェック/

■92869  Re[7]: VisualStudio2017でReportViewer
□投稿者/ たかし -(2019/11/04(Mon) 10:26:37)
    No92865 (魔界の仮面弁士 さん) に返信
    > ■No92861 (たかし さん) に返信
    >>Microsoft.ReportViewer.WinForms.dllの最新バージョンらしきもの(15.0.900.148)を
    >>以下のサイトからダウンロードしてDebugフォルダに上書きコピーしてみました。
    >
    > 15.0.1358.0 の方が後のバージョンなのですが、依存関係の問題があるため、
    > 15.0.900.148 をそのまま使い続けてください。
    >
    > No92864 で紹介したロシア語動画のコメント欄でも、同様のトラブル報告(と解決策)が投稿されています。

    魔界の仮面弁士さま、
    懇切丁寧にご説明いただきありがとうございます。

    おかげさまでやっとコントロールを貼り付けることが出来ました。
    しかし、ReportViewerを使っていかなる事ができるのか?
    そこを確認すべく、イチから勉強したいと思います。
    Accessのような帳票形式レポートが「自在に」作れるのかどうか?目下そこが一番の疑問です。
    最悪叶わない場合は、思い切ってAccessのレポート機能を拝借しようかと考えています。
    また分からないことに遭遇しましたら、お世話になりたいと思いますので、よろしくお願いいたします。

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

■95086  Re[5]: CHARFORMATのデフォルトについて
□投稿者/ 魔界の仮面弁士 -(2020/06/23(Tue) 07:22:35)
    2020/06/23(Tue) 07:32:39 編集(投稿者)

    No95085 (VisualC#初心者 さん) に返信
    >>作成して頂いたコードですが拡張メソッド化したい場合、
    >>SelectionBold等がboolで宣言されてるのでこれをvoidに変えて
    >>みれば良いのでしょうか?

    プロパティを拡張メソッドに変更する場合、setter と getter を別々のメソッドとして提供することになります。

    たとえば DataRowExtensions では、
    DataRow に対するインデクサの読み書きを
    ジェネリックな拡張メソッドにするために、
    getter と setter のペアが用意されています。

    // getter 系の拡張メソッド
    public static T Field<T> (this DataRow row, string columnName)

    // setter 系の拡張メソッド
    public static void SetField<T> (this DataRow row, string columnName, T value)


    ※実際にはもっと多くのオーバーロードがあります。
    https://docs.microsoft.com/ja-jp/dotnet/api/system.data.datarowextensions


    で、上記 SetField 拡張メソッドの実装は、
     row[column] = (object)value ?? DBNull.Value;
    となっています。


    > 構造体のCHARFORMAT/CHARFOMAT2構造体
    > の中身とどうリンクさせればいいか思いつかないです。
    先のサンプルでは、
     public bool SelectionBold
     {
      get => GetCharFormat_Masks().HasFlag(CFE.Bold);
      set => SetCharFormat_Masks(CFM.Bold, value ? CFE.Bold : CFE.None);
     }
    としていましたので、これを拡張メソッドにするなら、たとえば
     public static bool GetSelectionBold (this RichTextBox rtb) => GetCharFormat_Masks(rtb).HasFlag(CFE.Bold);
     public static void SetSelectionBold (this RichTextBox rtb, bool value) => SetCharFormat_Masks(rtb, CFM.Bold, value ? CFE.Bold : CFE.None);
    などとします。


    上記から呼ばれているヘルパーメソッドとなる
    private void SetCharFormat_Masks(CFM dwMask, CFE dwEffects)
    private CFE GetCharFormat_Masks()
    については、インスタンスメソッドから static メソッドに変更したうえで
    引数 RichTextBox rtb を追加しておき、元のサンプルで
     new HandleRef(this, Handle)
    としていた箇所を
     new HandleRef(rtb, rtb.Handle)
    と書き換えます。
記事No.95068 のレス /過去ログ165より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -