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

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

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

全過去ログを検索

<< 0 >>
■54760  Re[1]: クリックされたボタンNameを取得し、似たNameのラベルを
□投稿者/ m2 -(2010/11/01(Mon) 16:06:26)
    No54757 (きしり さん) に返信
    > 2010/11/01(Mon) 15:46:00 編集(投稿者)
    
    --------------------------------------------------------------------------------
    // ボタン共通
    private void button_Click(object sender, EventArgs e)
    {
        // 押下ボタン名を取得し検索対象ラベル名に変換(ここでの例:button1 -> Label1 てな感じ)
        string searchLabelName = ((Button)sender).Name.Replace("button", "label");
    
        // 対象ラベル名を検索
        foreach (Control c in this.Controls)
        {
            if (c.Name == searchLabelName)
            {
                // ラベルに押下ボタンのテキストを表示
                ((Label)c).Text = ((Button)sender).Text;
                break;
            }
        }
    }
    --------------------------------------------------------------------------------
    
    シンプルかどうかは不明
    
記事No.54757 のレス /過去ログ92より / 関連記事表示
削除チェック/

■63440  Re[10]: ForegroundLockTimeoutの取得
□投稿者/ 魔界の仮面弁士 -(2012/08/25(Sat) 18:12:31)
    No63407 (魔界の仮面弁士) に追記
    > 今回の調査結果を受けて、当方においても
    > を何パターンか実施し、後程こちらに結果を報告させていただきます。

    皆さん、ありがとうございます。当方で試した限りでは、
      VS2010 / 2012 の実行後に、SPI_GETFOREGROUNDLOCKTIMEOUT から
      返される値が破損する『ことがある』
    という曖昧な結果になりました。


    以下、実験結果です。

    ============================
    今回は、「VB6」(Native/P-Code) および
    「C#4 on .NET 2.0」(AnyCPU/x86, Debug/Release)
    という、6 種の EXE を用意した上での実験してみました。

    その結果、開発環境を起動してからのデバッグ実行等ではなく、
    コンパイルされた EXE を単に実行するだけであれば、
    VB6 や .NET といった環境の差異は受けないようです。

    また、SystemParametersInfo の戻り値はいずれも TRUE(1)固定、
    Err.LastDllError / Marshal.GetLastWin32Error も常に 0 でした。
    ---------------------------

    ☆の行は、MSサポートからの報告と一致する点、
    ★の行は、今回新たに発生した事象です。

    Visual Studio は単にスタートメニューから起動しただけで、
    プロジェクトを開いたり作成したりといった作業は行っていません。


    【Windows 7 Enterprise, x64 / Service Pack 1】
    【VS2005 Team Suite / Service Pack 1 Update for Windows Vista】8.0.50727.867 (vsvista.050727-8600)
    【VS2008 Development Edition / Service Pack 1 with QFE】9.0.30729.4462 QFE
    【VS2010 Ultimate / Service Pack 1】10.0.40219.1 SP1Rel
     ・OS 起動直後は、6 種の EXE いずれもレジストリ値「20000(0x4e20)」を返してきた。
     ・VS2005 起動(1回目)。期待値である「20000(0x4e20)」のまま。終了後も同値のまま。
     ・VS2008 起動(1回目)。期待値である「20000(0x4e20)」のまま。終了後も同値のまま。
     ☆VS2010 起動(1回目)。別の破損値「1635708(0x18f57c)」に変化。終了後も同値。
     ★VS2010 起動(2回目)。上記破損値「1635708(0x18f57c)」のまま。終了後も同値のまま。
     ★VS2010 起動(3回目)。上記破損値「1635708(0x18f57c)」のまま。終了後も同値のまま。
     ・OS のログオフ後に再ログオンしたところ、元通り「20000(0x4e20)」を返してきた。
     ★VS2010 起動(1回目)。期待値である「20000(0x4e20)」のまま。終了後も同値のまま。
     ・VS2005 起動(1回目)。期待値である「20000(0x4e20)」のまま。終了後も同値のまま。
     ・VS2008 起動(1回目)。期待値である「20000(0x4e20)」のまま。終了後も同値のまま。
     ★VS2010 起動(2回目)。期待値である「20000(0x4e20)」のまま。終了後も同値のまま。
     ・VS2005 起動(2回目)。期待値である「20000(0x4e20)」のまま。終了後も同値のまま。
     ・VS2008 起動(2回目)。期待値である「20000(0x4e20)」のまま。終了後も同値のまま。
     ☆VS2010 起動(3回目)。別の破損値「1503844(0x16f264)」に変化。終了後も同値。
     ☆VS2010 起動(4回目)。別の破損値「1635852(0x18f60c)」に変化。終了後も同値。
     ・再度、ログオフとログオンを実行。今度は起動後、HDDが落ち着くまでしばらく待つ。
     ・この時点ではいずれもレジストリ値「20000(0x4e20)」を返す状態。
     ・VS2005 起動(1回目)。期待値である「20000(0x4e20)」のまま。終了後も同値のまま。
     ・VS2008 起動(1回目)。期待値である「20000(0x4e20)」のまま。終了後も同値のまま。
     ☆VS2010 起動(1回目)。別の破損値「3863524(0x3af3e4)」に変化。終了後も同値。
     ☆VS2010 起動(2回目)。別の破損値「1636532(0x18f8b4)」に変化。終了後も同値。
     ★VS2010 起動(3回目)。上記破損値「1636532(0x18f8b4)」のまま。終了後も同値のまま。



    【Windows 7 Ultimate, x64 / Service Pack 1】
    【VS2010 Ultimate / Service Pack 1】10.0.40219.1 SP1Rel
    【VS2012 Ultimate / RTM】11.0.50727.1 RTMREL
     ・OS 起動直後は、6 種の EXE いずれもレジストリ値「0(0x0)」を返してきた。
     ・VS2012 起動(1回目)。別の破損値「1434656(0x15e420)」に変化。終了後も同値。
     ・再度、ログオフとログオンを実行。SSD が落ち着くまで少し待つ。
     ・この時点では、レジストリの期待値「0(0x0)」を返している。
     ☆VS2010 起動(1回目)。別の破損値「3601620(0x36f4d4)」に変化。終了後も同値。
     ・VS2012 起動(1回目)。別の破損値「2744824(0x29e1f8)」に変化。終了後も同値。
     ★VS2010 起動(2回目)。上記破損値「2744824(0x29e1f8)」のまま。終了後も同値のまま。
     ・VS2012 起動(2回目)。別の破損値「3859744(0x3ae520)」に変化。終了後も同値。
     ・再度、ログオフとログオンを実行。SSD が落ち着くまで少し待つ。
     ・この時点では、レジストリの期待値「0(0x0)」を返している。
     ☆VS2010 起動(1回目)。別の破損値「3273300(0x31F254)」に変化。終了後も同値。
     ★VS2010 起動(2回目)。上記破損値「3273300(0x31F254)」のまま。終了後も同値のまま。
     ☆VS2010 起動(3回目)。別の破損値「2617836(0x27f1ec)」に変化。終了後も同値。


    【Windows 8 Pro, x64 / RTM】
    【Visual Studio 未インストール】
     ・OS 起動直後、VB6 版はレジストリ値「20000(0x4e20)」を返してきた。
      (.NET 2.0 版は、.NET Framework 3.5 未インストール環境のため稼働せず)


    【Windows 8 Release Preview, x64】
    【VS2012 Ultimate / Release Candidate】11.0.50522.1 RCREL
     ・OS 起動直後は、6 種の EXE いずれもレジストリ値「20000(0x4e20)」を返してきた。
     ・VS2012 起動(1回目)。期待値である「20000(0x4e20)」のまま。終了後も同値のまま。
     ・VS2012 起動(2回目)。別の破損値「4122904(0x3ee918)」に変化。終了後も同値。
     ・VS2012 起動(3回目)。別の破損値「7856608(0x77e1e0)」に変化。終了後も同値。
     ・VS2012 起動(4回目)。別の破損値「13625560(0xcfe8d8)」に変化。終了後も同値。
     ・VS2012 起動(5回目)。別の破損値「10610760(0xa1e848)」に変化。終了後も同値。
記事No.63230 のレス /過去ログ107より / 関連記事表示
削除チェック/

■80078  Re[1]: バックグランドワーカーとグローバル変数
□投稿者/ shu -(2016/06/08(Wed) 21:23:15)
    No80073 (初心者123 さん) に返信

    https://msdn.microsoft.com/ja-jp/library/d00bd51t(v=vs.110).aspx

    Sleepの引数はms単位なので
    1msスリープしたらループを回るので
    Timer1_tickが発生するまでの間条件が変わらない状態となります。

    別にフラグなど設けるなどして繰り返し足されるのを抑制する必要があります。
記事No.80073 のレス /過去ログ136より / 関連記事表示
削除チェック/

■83081  Re[2]: 一番古い日付と一番新しい日付のデータ削除法
□投稿者/ ぶなっぷ -(2017/03/04(Sat) 11:46:23)
    いまいち、何が知りたいか分からないけど、
    こういう話?
      list.Remove(list.Min());
      list.Remove(list.Max());
    
記事No.83078 のレス /過去ログ142より / 関連記事表示
削除チェック/

■88595  Re[10]: コントロールを自然に動かすには??
□投稿者/ 熊さん -(2018/09/09(Sun) 19:47:15)


    ありがとうございます。

    ただ、【Invalidate】のことがやはりよく理解できませんでした。

    Invalidateとは更新予約するもので
    Refleshは即時に更新するものであることは分かります。

    例えば、上でご呈示くださったコードでは

    PictureBox1.Bounds = New Rectangle(PictureBox1.Left, y, PictureBox1.Width, h)

    'リサイズされたので再描画を依頼
    PictureBox1.Invalidate()

    リサイズの後に使用しているのはなぜでしょうか?

    また、他のサンプルプログラムを見ていても、後に出てくるのがほとんどだと思います。
    http://wisdom.sakura.ne.jp/system/msnet/msnet_win21.html
    https://devlights.hatenablog.com/entry/20080509/p1


    Boundsの後にもInvalidateを入れてみたりして、
    うまく描画されず、Boundsの前である必要があることは分かるのですが
    なぜ「今回だけ」前に入れるのかが分かりません。

    前に入れる場合と後ろに入れる場合の使い分けについて教えていただけないでしょうか?


    例えば、画像を表示したい場合、

    With PBox

    .Image = img
    .Invalidate()

    End With

    Invalidateを
    .Image = img

    の前に入れても後に入れても、同じように動作しますが
    どちらに入れるのが正しいのでしょうか?






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

■88596  Re[11]: コントロールを自然に動かすには??
□投稿者/ 魔界の仮面弁士 -(2018/09/09(Sun) 20:22:17)
    No88595 (熊さん さん) に返信
    > リサイズの後に使用しているのはなぜでしょうか?
    特に意図は無いですが、強いて言えば、前後どちらであっても、
    気になるような差が出なかったら、という程度ですね。

    先のように、移動前後で座標がまったくずれないようにしたい場合には
    気にかけた方が良いと思います。


    > http://wisdom.sakura.ne.jp/system/msnet/msnet_win21.html
    これは、クライアント領域の再描画が行われているだけであって、
    ウィンドウ位置が変化しているわけではないのですから、
    今回の話とは関係無いですよね。



    > 例えば、画像を表示したい場合、
    > の前に入れても後に入れても、同じように動作しますが
    > どちらに入れるのが正しいのでしょうか?
    どちらも不要かと思いますよ。
    PitureBox.Image は、新しい画像がセットされたときに
    内部で自動的に Invalidate を呼び出していますから。
記事No.88470 のレス /過去ログ152より / 関連記事表示
削除チェック/

■90110  DateTimePickerでホイールを使う方法
□投稿者/ やーまー -(2019/02/09(Sat) 14:03:15)

    分類:[.NET 全般] 


    DateTimePickerでホイールを回すことで数値を変えられるようにしたいのですが

    Private Sub DateTimePicker1_MouseWheel(sender As Object, e As MouseEventArgs) Handles DateTimePicker1.MouseWheel

    If e.Delta > 0 Then

    System.Windows.Forms.SendKeys.Send("{UP}")

    Else

    System.Windows.Forms.SendKeys.Send("{DOWN}")

    End If

    End Sub

    このコードでできるようになりました。

    しかし、この方法だと
    ゼロから更にホイールを下に回すと
    23や59といった値になってしまいます。

    これをゼロよりも下に回しても下がらず
    23や59よりも上に回してもそれ以上上がらないようにしたいのですが
    どのようにしたら良いですか?



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

■95869  Re[1]: エラー処理
□投稿者/ kiku -(2020/10/05(Mon) 17:19:12)
    No95855 (いろりん さん) に返信
    > コマンド1を送り、エラーだった場合、処理を終了したいのですが
    > エラーのメッセージボックスを閉じた後にコマンド2を送ってしまいます。
    > エラーが出た時点で処理を終了するにはどうすればいいのでしょうか?

    あまり美しくないですが、
    rcvtextBoxのOK時の処理のところに、
    コマンド2の処理を記述すれば、
    最低限の要件は満たせそうです。
記事No.95855 のレス /過去ログ166より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -