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

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

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

全過去ログを検索

<< 0 >>
■7084  Re[3]: ボタンを1度しか押せないようにする
□投稿者/ のん -(2007/08/30(Thu) 01:57:33)
    2007/08/30(Thu) 02:17:17 編集(投稿者)
    2007/08/30(Thu) 01:59:06 編集(投稿者)
    2007/08/30(Thu) 01:58:58 編集(投稿者)

    >では、そのボタンクリックのイベントプロシージャの先頭でEnabledをFalseにすればよいと思います。
    私もそう思います。

    で、ボタンを押すとこうなるって記述したら、Enabled=Falseにすれば一回押したら押せませんになります。


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Label1.Text = "クリックしました"
    Button1.Enabled = False

    End Sub

    たとえばこんな感じだけでボタンが押せなくなります。
    VB2005で記述してます。VBで申し訳ないですorz
記事No.7071 のレス /過去ログ18より / 関連記事表示
削除チェック/

■84066  Re[1]: 有効桁数3桁まででJIS丸めがしたい
□投稿者/ Jitta -(2017/05/12(Fri) 15:18:33)
    No84065 (AI さん) に返信

    Decimal 型を使うなら、
    元の数を1未満になるまで10で割って、
    roundして、
    割った回数だけ10を掛ける。
記事No.84065 のレス /過去ログ143より / 関連記事表示
削除チェック/

■84067  Re[2]: 有効桁数3桁まででJIS丸めがしたい
□投稿者/ AI -(2017/05/12(Fri) 15:35:48)
    No84066 (Jitta さん) に返信
    > ■No84065 (AI さん) に返信
    >
    > Decimal 型を使うなら、
    > 元の数を1未満になるまで10で割って、
    > roundして、
    > 割った回数だけ10を掛ける。

    Jitta さん、ご回答ありがとうございます!

    > 元の数を1未満になるまで10で割って、
    > roundして、
    > 割った回数だけ10を掛ける。

    そんな考え方があったんだ!と思い、
    更に色々なパターンを考えてみたのですが、
    元の数が大きい場合はアドバイスいただいた考え方で計算できると思いますが、
    元の数が小さい場合はどのようにすれば良いのでしょうか?

    例えば、0.001234や0.0001234、0.00001234などだと
    その考え方が使えないような気がするのですが...
    どうすれば良いでしょうか?

    アドバイスの程、どうぞよろしくお願いします。

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

■98562  Re[6]: 「複数のChartでのマウス位置による数量表示」の追加です
□投稿者/ 魔界の仮面弁士 -(2021/12/02(Thu) 09:58:10)
    No98561 (魔界の仮面弁士) に追記
    > Label への反映が問題になるのは、 No98520 で御自身がお書きになった変数 ZaKa の算出処理のせいでしょう。
    > 現状の実装だと、Y 軸が 0 以上の値のみを扱うチャートであったとして、
    > マウス座標が 0 未満の位置(プロットエリア外)を指していたときには、
    > ラベルを書き換えていますよね? あるいは最大値を超える位置であっても書き換わっています。

    もし、プロットエリア外での Label 更新を止めたいなら
    No98525 で用意した

     Private Function GetYValue(yAxis As Axis, y As Integer) As Double
      Dim y1 = yAxis.ValueToPixelPosition(yAxis.Maximum)
      Dim y2 = yAxis.ValueToPixelPosition(yAxis.Minimum)
      Return yAxis.Maximum - (yAxis.Maximum - yAxis.Minimum) * ((y - y1) / (y2 - y1))
     End Function

    の処理を

     Private Function GetYValue(yAxis As Axis, y As Integer) As Double?
      Dim y1 = yAxis.ValueToPixelPosition(yAxis.Maximum)
      Dim y2 = yAxis.ValueToPixelPosition(yAxis.Minimum)
      If y1 <= y AndAlso y <= y2 Then
       Return yAxis.Maximum - (yAxis.Maximum - yAxis.Minimum) * ((y - y1) / (y2 - y1))
      Else
       Return Nothing
      End If
     End Function

    に変更し、さらに、Label への表示部を
     yLabel.Text = GetYValue(e.Chart.ChartAreas(0).AxisY, mousePoint.Y).ToString("N0")
    から
     yLabel.Text = GetYValue(e.Chart.ChartAreas(0).AxisY, mousePoint.Y)?.ToString("N0")
    などとすれば良いでしょう。


    上記では、ラベルが更新されるエリアをプロットエリア内に限定していますが、
    判定範囲を変更すれば、それぞれのチャート全体を対象にすることもできますね。
記事No.98552 のレス /過去ログ171より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -