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

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

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

全過去ログを検索

<< 0 >>
■63410  Re[10]: ForegroundLockTimeoutの取得
□投稿者/ とっちゃん -(2012/08/23(Thu) 11:31:52)
>
    No63407 (魔界の仮面弁士 さん) に返信
    試してみました。

    OSは、Win7x64(パッチは最新状態)。プログラムは影響範囲を最小限とするため、Native(CRTはスタティックリンク)で、UNICODE版。
    ビルドはVS2010です。

    で、当然VS2010を起動してプログラムを作成したので最初から値おかしいわけですが...
    ソースは、これ(ヘッダーとかは書いてませんのでこのままじゃビルド通らないのであしからず)

    void _tmain()
    {
     DWORD value = 0;
     SystemParametersInfo( SPI_GETFOREGROUNDLOCKTIMEOUT, 0, &value, FALSE );
     wcout << value << endl;
    }

    プログラムを作成して実行できることをまず確認。既に値がおかしい状態で取得(テスト環境では3404916)。
    VSを終了してコンソールで実行(3404916)。
    改めてVS2010を起動(違う結果:3470076)。
    VSを終了して実行(3470076)。
    VS2012を起動(違う結果:3859448)。
    2012を終了して実行(3859448)。

    参考のため、VS2005/2008 を実行してみたところ変わらず。
    ということで、VS2010から仕込んでしまった何らかの影響のようです。

    Win8(RTM) + VS2012(RTM) 環境もあるのでこちらも試してみました。

    手順。
    OS起動。
    作成済みのEXEをコピー。
    コンソールを開く。
    EXE実行。結果:200000
    VS2012実行。
    EXE実行。結果:3596880
    でした。

    VSを起動しなおすたびに値が書き換わっているので、起動シーケンスの何かで参照値を書き換えてしまうものと思います。
記事No.63230 のレス /過去ログ107より / 関連記事表示
削除チェック/

■89112  Re[8]: チェックボックスを使った計算
□投稿者/ コジコジ -(2018/10/31(Wed) 16:54:15)
    魔界の仮面弁士様
    ご返信ありがとうございます。

    誠に申し訳ございません。
    当方の勘違いでございました。

    動作確認いたしました。
    希望通りの動作でした。

    一点、希望ですが、チェックするごとに計算式が見えるようにする方法はございますでしょうか。

    CheckBox1.Tag = 100
    CheckBox2.Tag = 200
    CheckBox3.Tag = 300

    3個チェックしたら、「100+200+300=600」と違うラベルに出ると望ましいです。

    お手数ではございますが何卒よろしくお願い申し上げます。
記事No.89099 のレス /過去ログ153より / 関連記事表示
削除チェック/

■89113  Re[9]: チェックボックスを使った計算
□投稿者/ 魔界の仮面弁士 -(2018/10/31(Wed) 17:17:10)
    2018/10/31(Wed) 17:20:29 編集(投稿者)

    No89112 (コジコジ さん) に返信
    > 当方の勘違いでございました。

    ちなみに、選択されていないタブも含めるなら SelectMany で平坦化できます。

    Dim total As Integer = TabControl1.TabPages.Cast(Of TabPage)().SelectMany(Function(t) t.Controls.OfType(Of CheckBox)()).Sum(Function(c) CInt(c.Tag))


    > 一点、希望ですが、チェックするごとに計算式が見えるようにする方法はございますでしょうか。
    > 3個チェックしたら、「100+200+300=600」と違うラベルに出ると望ましいです。

    仕様がまだまだ曖昧です。

    まず、何も選択されていない場合、= の左辺はどのように表記されるのでしょうか。
    それとも、何も選択されていない場合は空欄にするのでしょうか。

    また、計算式の各項の並び順をどうするのかも不明瞭です。
    たとえば、数値の昇順、クリック順、コントロールの位置や名前順などなど。



    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
      CheckBox1.Tag = 100
      CheckBox2.Tag = 200
      CheckBox3.Tag = 300
      CheckBox4.Tag = 400
      CheckBox5.Tag = 500
      For Each c As CheckBox In Panel1.Controls.OfType(Of CheckBox)()
        AddHandler c.CheckedChanged, Sub() UpdateFormula()
      Next
    End Sub

    Private Sub UpdateFormula()
      Dim values = Panel1.Controls.OfType(Of CheckBox)().Where(Function(c) c.Checked).Select(Function(c) c.Tag)
      If values.Any() Then
        Label2.Text = String.Join("+", values.OrderBy(Function(i) i)) & "=" & values.Cast(Of Integer)().Sum().ToString("N0")
      Else
        Label2.Text = "0"
      End If
    End Sub
記事No.89099 のレス /過去ログ153より / 関連記事表示
削除チェック/

■102156  Re[1]: アプリケーション設定の呼び出しにてエラーが発生
□投稿者/ WebSurfer -(2023/07/12(Wed) 07:02:11)
    No102155 (VBEgg さん) に返信

    .NET Framework or .NET Core/.NET どっちですか? そのバージョンは?

    作っているのはなんですか? Windows Forms アプリ?

    > まだ何も他にはいじっていない状態ですので、何が悪いのかもわかりません。
    > VB2015では同様のことをして大丈夫だったのですが、何か2015と2022で違いがあるのでしょうか?

    どういう意味ですか? VS2015 で作った既存のプロジェクトをコピーしてきた?
記事No.102155 のレス /過去ログ178より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -