掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ChartのプロットエリアのSizeを取得するには? (ID:147882)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Chart を触ったのは今回が初めてなので自信がありませんが、 これでどうでしょうか。 もっとスマートな方法があるのかも知れませんが…。 Option Strict On Imports System.Drawing Imports System.Reflection Imports System.Windows.Forms.DataVisualization.Charting Partial Public Class Form1 Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click Dim sz As SizeF = GetBackgroundPosition(Me.Chart1.ChartAreas(0), True).Size Debug.Print(sz.ToString() & " / " & Chart1.ClientSize.ToString()) With Chart1.ClientSize sz.Height *= .Height / 100.0F sz.Width *= .Width / 100.0F End With TextBox1.Text = sz.ToString() End Sub Public Function GetBackgroundPosition(area As ChartArea, withScrollBars As Boolean) As RectangleF Dim f As BindingFlags = BindingFlags.Instance Or BindingFlags.NonPublic Dim t() As Type = {GetType(Boolean)} Dim m = GetType(ChartArea).GetMethod("GetBackgroundPosition", f, Nothing, t, Nothing) Return DirectCast(m.Invoke(area, New Object() {withScrollBars}), RectangleF) End Function End Class
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.