ニュートン メニュー

株式会社ニュートン

マイクロソフトパートナー

YouTube公式チャンネル

体験版ダウンロード

製品案内

ライセンスパック

ライセンスについて

カスタマイズ受付

製品購入ガイド

オンラインショップ
直販ショップ !
ニュートンストアで購入
コンポーネントソース
コンポーネントソースで購入

優待販売・
 キャンペーン情報

ユーザサービス
〔サポートページ〕

サポート体制

お知らせ
・ニュースリリース
・イベント出展
・製品関連記事

会社概要

個人情報保護方針

お問い合わせ先

ニュートンホーム Q&A
TeeChart Pro .NET 2010

.NET対応インターラクティブ チャートコンポーネント
TeeChart Pro .NET 2010J

このページは、TeeChart Pro .NET 2010J のユーザ様より寄せられたご質問の一部とその回答を掲載しております。


【TeeChart Pro .NET 2010J Q&A一覧】

QNo.

Q.質問

日付

A.回答

25

Q. 64ビットOSで、TeeChart Pro .NET 2010Jをインストールした後にTeeRegV2010.exeを実行したら付属のサンプルや新規プロジェクトのフォームを開いた時にエラーが表示されます。なぜですか?

2014/10/24

A. TeeRegV2010.exeは、開発PCに開発ライセンスが正常にインストールされなかった場合のみ実行してください。
(たとえば、フォームにTeeChartコンポーネントを配置できない場合など)
また、現行バージョンのTeeChartは、64ビットと互換性があり、インストール後に問題なく動作するので、TeeRegV2010.exeを使用する必要はございません。
 

24

Q. 64bit OS で、VisualStudio2005 を使用してビルドしようとすると、「"LC.exe" はコード -1 を伴って終了しました。」というエラーが発生します。

2014/10/22

A. 64bitOS で Visual Studio 2005 を使用する場合、以下の内容に該当する可能性があります。
http://support.microsoft.com/kb/913961/ja
この場合は、上記ページに記載されている「解決方法」で回避が可能です。

具体的には、以下のとおりとなります。
1. Visual Studio 2005 を「管理者として実行」で起動
2. その Visual Studio 2005 で対象のプロジェクトを開く
3. 「プロジェクトのプロパティ」の、「ビルドイベント」を下記のように設定
 (Visual Basic:[コンパイル]タブから[ビルド イベント]ボタンをクリック
  C#:[ビルド イベント]タブをクリック)

*ビルド前に実行するコマンドライン:
  %SYSTEMROOT%\Microsoft.NET\Framework64\v2.0.50727\ldr64.exe setwow
*ビルド後に実行するコマンドライン:
  %SYSTEMROOT%\Microsoft.NET\Framework64\v2.0.50727\ldr64.exe set64
*ビルド後のコマンドラインの実行条件:
  「ビルドが成功したとき」
 

23

Q. 64bit OS で、VisualStudio のソリューションプラットフォームを「x64」にしてビルドしようとするとエラーになってしまいます。

2014/10/22

A. これは、Framework のライセンスコンパイラ(LC.exe)に関するエラーです。
TeeChart はアセンブリ DLL が32bitと64bitの環境用で共通となっており、32ビット版の LC.exe を使用する必要がありますが、64bit版の LC.exe でプロジェクトをビルドすると、エラーが発生します。
64bit 版の LC.exe が使用されるのは、
開発環境の OS が64bit 版 / 開発環境に.NET Framework 4.5 がインストールされている / Visual Studio 2010または2012を使用 / ビルドのプラットフォームターゲットに「x64」を設定
というすべての条件がそろった場合です。
これは、マイクロソフト社のサポート技術情報で公開されている、以下の問題に起因するものです。
http://support.microsoft.com/kb/2783939/ja
この問題の回避策として、上記ページの「解決方法」に記載されているように、環境変数またはプロジェクトファイル (.vbprojまたは.csproj) において、「DisableOutOfProcTaskHost」の値に「1」に設定してください。
 

22

Q. TeeChart Pro .NET 2010Jは、Silverlight 5(の開発環境)に対応していますか?

2012/01/31

A. はい、2012年1月13日にマイクロソフトより正式にリリースされたSilverlight 5の日本語版開発環境に対応していることを確認いたしました。

既存のSilverlight 4プロジェクトをSilverlight 5プロジェクトにするには、前述のSilverlight 5の日本語版開発環境をインストール後、Visual Studio 2010 で当該プロジェクトのプロパティページを開き、「Silverlight」タブの「Silverlight ビルド オプション」の「対象のSilverlightバージョン」をSilverlight 5に変更します。 

21

Q. インストール時に「VisualStudio 20xx のツールボックスへの登録」にチェックを入れてもツールボックスに表示されない場合がありますか?

2012/01/31

A. はい。以下の場合が該当します。
「インストールフォルダの選択」画面で「すべてのユーザ」を選択した場合、インストール時のユーザ以外のユーザでログインして VisualStudio を使用する場合は、ツールボックスに表示されません。この場合でも、TeeChart コントロールを使用することは可能ですが、ツールボックスへは手動で登録してご利用ください。
 

20

Q. Visual Studio 2010用に TeeChart.Client.dll が含まれますが、このdllはどういう場合に使用するのですか?

2011/05/27

A. Visual Studio 2010用のTeeChart には、.Net Framework 4 Client Profile でコンパイルされた、TeeChart.Client.dll という dllが含まれます。
このdll で Client Profile アプリケーションを作成できます。
.NET Framework 4 Client Profile はクライアントアプリケーション用に最適化された.NET Framework 4 のサブセットです。

19

Q. Visual Studio 2005/2008用にはTeeChart.Pocket.dllが存在しますが、Visual Studio 2010用にはありません。
なぜですか?

2010/11/05

A. Visual Studio 2010 は pocket/CF.net プロジェクトのファイル形式をサポートしていないからです。

18

Q. TeeChart Pro .NET 2010J を利用したアプリケーションが、インターネットに繋がっていない環境だと、起動するのにかなり時間がかかってしまいます。回避策はありますか?

2010/11/05

A. TeeChart Pro .NET 2010J のアセンブリ (dll) にはデジタル署名を付加しているので、アプリケーションが使用するアセンブリの有効性を確認するために CRL(「証明書失効リスト」)のダウンロード処理を行います。
インターネットに接続していない環境でアプリケーションの起動が遅くなるのは、タイムアウトになるまで CRL のダウンロードを繰り返し試みてしまうことが原因です。

インターネットに接続していないマシンで使用する場合の回避方法として、以下の手順により CRL のダウンロードを実行しないように設定してください。 (CRL をダウンロードしない場合でも TeeChart Pro .NET 2010J を利用することは可能です。)

  1. [コントロール パネル] - [インターネット オプション] を実行します。
  2. [インターネットのプロパティ] ダイアログで [詳細設定] タブ を選択します。
  3. [発行元証明書の取り消しを確認する] のチェックボックスをオフします。

また、.NET Framework 2.0 Service Pack 1 以降では、アプリケーション名.exe.config に以下の行を追加することにより、アプリケーション開始時の署名検証を無効にすることができます。

<configuration>
  <runtime>
    <generatePublisherEvidence enabled="false"/>
  </runtime>
</configuration>

デジタル署名なしのアセンブリ(dll)を使用する方法もあります。

17

 

Q.カレンダー系列の「月」と「曜日」を英語で表示するにはどうすればいいですか?

2010/11/05

A.下記のコードを参考にしてください。

C# :
private void Form1_Load(object sender, EventArgs e){
  System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-EN");
  Steema.TeeChart.Styles.
Calendar Series1 = new Steema.TeeChart.Styles.Calendar();
  tChart1.Series.Add(Series1);
  Series1.FillSampleValues();

}


VB :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-EN")
 
Dim Series1 As New Steema.TeeChart.Styles.Calendar()
  TChart1.Series.Add(Series1)
  Series1.FillSampleValues()
End Sub

16

Q. WPFに対応していますか?

2010/11/05

A. はい、Visual Studio 2008/2010用のmsiにWPF用のアセンブリが含まれます。

15

Q. たとえば、左軸の最小値を-2、最大値を2、インクリメントを0.2と設定すると、チャートのサイズによっては、左軸の最小値のラベルが表示されない場合があります。どうしてですか?

2010/11/05

A. これは仕様です。回避策としては下記のコードをご使用ください。


C# :
private void Form1_Load(object sender, EventArgs e)
{
  Steema.TeeChart.Styles.Bar bar = new Steema.TeeChart.Styles.Bar(tChart1.Chart);

  bar.FillSampleValues(5);

  tChart1.Axes.Left.Automatic = false;
  tChart1.Axes.Left.SetMinMax(-2, 2);
  tChart1.Axes.Left.Increment = 0.2;

  tChart1.Axes.Left.Labels.ValueFormat = "#0.0";

  double I;
  tChart1.Axes.Left.Labels.Items.Clear();
  for (I = -20; I <= 20; I += 2)
    setLeftAxisLabels(I);

}

private void setLeftAxisLabels(double val)
{
  tChart1.Axes.Left.Labels.Items.Add(val / 10, String.Format("{0:0.0}", val / 10));
}

VB :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  Dim bar As New Steema.TeeChart.Styles.Bar(TChart1.Chart)

  bar.FillSampleValues(5)

  TChart1.Axes.Left.Automatic = False
  TChart1.Axes.Left.SetMinMax(-2, 2)
  TChart1.Axes.Left.Increment = 0.2

  TChart1.Axes.Left.Labels.ValueFormat = "#0.0"

  Dim I As Integer
  TChart1.Axes.Left.Labels.Items.Clear()
  For I = -20 To 20 Step 2
    SetLeftAxisLabels(I)
  Next
End Sub

Private Sub SetLeftAxisLabels(ByVal Val As Integer)
  TChart1.Axes.Left.Labels.Items.Add(Val / 10, Format(Val / 10, "#.#"))
End Sub
 

14

Q. OpenGLは日本語に対応していますか?

2010/11/05

A. いいえ、対応していません。
英数字のみの対応となります。

13

Q. Windows VistaやWindows 7にTeeChart Pro .NET 2010Jをインストールしようとしているのですが、「サポート担当者またはパッケージのベンダに問い合わせてください」というメッセージが表示され、インストールができません。 回避方法を教えてください。

2010/11/05

A. エクスプローラーなどでsetup.exeを右クリックし、"管理者として実行"を選択してインストールしてください。

12

Q. ClickOnce には対応していますか?

2010/11/05

A. はい、対応しています。
TeeChart Pro .NET 2010J の製品紹介ページにClickOnceのデモページへのリンクを追加しました。ご活用ください。

11

 

Q.作成したアプリケーションとTeeChart.dllを配布先にコピーしても正しく動作しないのですが?

2010/11/05

A.TChartやChart、WebChartを使用するプロジェクトには「Licenses.licx」ファイルが必要です。このファイルは、チャートが追加されるときにVisual StudioのIDEによってTChart (Windows Formのチャート)やWebChart (Web Formのチャート)のプロジェクトに自動的に追加されます。また、「Licenses.licx」ファイルにはTeeChart.dllのバージョンが付加されますので、dllを変更した段階でlicxファイルも一緒に更新してください。

10

 

Q.チャートの背景を透明に設定して、クリップボードにコピーすると背景が青色になり透明ではありません。どうしてですか?

2010/11/05

A.クリップボードにコピーする際に透明イメージの背景が青くならないようにする方法は次のどちらかになります。

1)p-invokeつまり安全ではない(アンマネージドコード)C#のコードを使用する
2)アルファチャンネルのイメージをテストするアプリケーションに貼り付ける

TeeChartは「100%マネージドコードを使用」と告知しておりますので、最初の解決策を使用することはできません
そして2つ目の解決策は実行不可能です。

従いまして、この問題を解決することはできません。

9

 

Q.teechart.dllはWindows CE .NETと一緒に使用できますか?

2010/11/05

A.できません。teechart.dllはWindows CE .NETと一緒に使用できませんが、teechart.pocket.dllは一緒に使用できます(TeeChart Pro .NET 2010J の製品バージョンに添付されています)。下記のフォルダ内にteechart.pocket.dllの使用例があります。

C:\Program Files\Steema Software\TeeChart Pro .NET 2010J for VS2008\Examples\Compact Framework

8

 

Q.マーカラベルを10進法なしで表示するにはどのようにフォーマットしたらいいですか?

2010/11/05

A.次の例のように、GetSeriesMark()イベントを使用することができます。

C# :
this.bar1.GetSeriesMark += new Steema.TeeChart.Styles.Series.GetSeriesMarkEventHandler(this.bar1_GetSeriesMark);

private void Form1_Load(object sender, System.EventArgs e) {
  Random rnd = new Random();
  for(int i = 0; i < 10; ++i) {
    bar1.Add(Convert.ToDouble(i), rnd.NextDouble() * 10);
  }
  bar1.Marks.Style = Steema.TeeChart.Styles.MarksStyles.Percent;
}

private void bar1_GetSeriesMark(Steema.TeeChart.Styles.Series series, Steema.TeeChart.Styles.GetSeriesMarkEventArgs e) {
  string s = e.MarkText.Replace(" %", "");
  double d = Math.Round(Convert.ToDouble(s), 0);
  e.MarkText = d.ToString() + " %";
}


VB :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  Dim rnd As New Random
  Dim i As Integer
  For i = 0 To 9
   Bar1.Add(Convert.ToDouble(i), rnd.NextDouble * 10)
  Next
  Bar1.Marks.Style = Steema.TeeChart.Styles.MarksStyles.Percent
End Sub

Private Sub Bar1_GetSeriesMark(ByVal series As Steema.TeeChart.Styles.Series, ByVal e As Steema.TeeChart.Styles.GetSeriesMarkEventArgs)
  Dim s As String = e.MarkText.Replace(" %", "")
  Dim d As Double = Math.Round(Convert.ToDouble(s), 0)
  e.MarkText = d.ToString() + " %"
End Sub

7

 

Q.PrintDocumentにチャートを描画するにはどうすればいいですか?

2010/11/05

A.下記のコードを参考にしてください。

C# :
private void button1_Click(object sender, System.EventArgs e) {
  tChart1.Printer.BeginPrint();
  tChart1.Printer.Print(new Rectangle(100,10,300,200));
  PrintDocument pDoc = tChart1.Printer.PrintDocument;
  pDoc.Print();
}


VB :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  TChart1.Printer.BeginPrint()
  TChart1.Printer.Print(New Rectangle(100, 10, 300, 200))
  Dim pDoc As System.Drawing.Printing.PrintDocument = TChart1.Printer.PrintDocument   pDoc.Print()
End Sub

6

 

Q.UNICODEをサポートしていますか?

2010/11/05

A.TeeChartのTChartクラスはSystem.Windows.Forms.Controlから継承されており、Unicodeをサポートしています。使用しているVS.NETコードファイルがUNICODE形式で保存されるか確認してください。これは、コードファイルを開いて、ファイルメニューの保存オプションの詳細設定を選択して確認することができます。

5

 

Q.チャートにデータを追加する一番速い方法は?

2010/11/05

A.TeeChartにリアルタイムのデータを追加する一番速い方法は、折れ線系列を使用することです。描画速度をあげるには、DrawAllPointsプロパティを使用します。このプロパティは、同じXピクセル位置に配置されないポイント間の線だけを描画します。

C# :
fastLine1.DrawAllPoints = false;

VB :
FastLine1.DrawAllPoints = False

4

 

Q.チャートに大量のデータを追加する最も良い方法は?

2010/11/05

A.デザイン時に折れ線系列を使用して、下記ような配列やコードを使用できます。

C# :
private void Form1_Load(object sender, System.EventArgs e) {
  Steema.TeeChart.Styles.FastLine fastLine1 = new Steema.TeeChart.Styles.FastLine(tChart1.Chart);
  const int numPoints = 500000;
  fastLine1.GetHorizAxis.SetMinMax(0,numPoints-1);
  // Series1 に繰り返しなしポイントのみを描画するように通知(より速く処理します!)
  fastLine1.DrawAllPoints = false;

  // 500.000ポイントを生成しましょう。
  double[] myX = new double[numPoints];
  double[] myY = new double[numPoints];
  System.Random r = new System.Random();
  double tmp = r.NextDouble()*10000;
  for (int t=0; t<numPoints; t++) {
    tmp += r.Next(100)-49.5;
    myX[t] = t;
    myY[t] = tmp;
  }

  // ここで系列にポイントを追加
  fastLine1.Add(myX, myY);
}


VB :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  Dim FastLine1 As New Steema.TeeChart.Styles.FastLine(TChart1.Chart)
  Dim numPoints As Integer = 500000
  FastLine1.GetHorizAxis.SetMinMax(0, numPoints - 1)
  ' Series1 に繰り返しなしポイントのみを描画するように通知(より速く処理します!)
  FastLine1.DrawAllPoints = False

  ' 500.000ポイントを生成しましょう。
  Dim myX(numPoints) As Double
  Dim myY(numPoints) As Double
  Dim R As New System.Random
  Dim tmp As Double = R.NextDouble() * 10000
  Dim t As Integer
  For t = 0 To numPoints - 1
   tmp += R.Next(100) - 49.5
   myX(t) = t
   myY(t) = tmp
  Next t

  ' ここで系列にポイントを追加
  FastLine1.Add(myX, myY)
End Sub

3

 

Q.チャートの幅を縮めると、X軸のラベルの一部が表示されないのですが?

2010/11/05

A.下記のコードを使用すると、そのような現象を最小限に抑えられます。

C# :
private void Form1_Load(object sender, System.EventArgs e) {
  Steema.TeeChart.Styles.Bar bar1 = new Steema.TeeChart.Styles.Bar(tChart1.Chart);
  bar1.FillSampleValues(20);
  tChart1.Axes.Bottom.Automatic = false;
  tChart1.Axes.Bottom.Increment = 2;
  tChart1.Axes.Bottom.Labels.Separation = 0;
  tChart1.Axes.Bottom.SetMinMax(bar1.XValues.Minimum, bar1.XValues.Maximum);
  tChart1.Dock = System.Windows.Forms.DockStyle.Fill;
}


VB :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  Dim Bar1 As New Steema.TeeChart.Styles.Bar(TChart1.Chart)
  Bar1.FillSampleValues(20)
  TChart1.Axes.Bottom.Automatic = False
  TChart1.Axes.Bottom.Increment = 2
  TChart1.Axes.Bottom.Labels.Separation = 0
  TChart1.Axes.Bottom.SetMinMax(Bar1.XValues.Minimum, Bar1.XValues.Maximum)
  TChart1.Dock = System.Windows.Forms.DockStyle.Fill
End Sub

2

 

Q.系列ポイントがある所だけX軸のラベルを表示するにはどうすればいいですか?

2010/11/05

A.下記のコードを参考にしてください。

C# :
Steema.TeeChart.Styles.Line line1 = new Steema.TeeChart.Styles.Line(tChart1.Chart);
Random rnd = new Random();
for(int i = 0; i < 10; ++i) {
  double xValue = rnd.Next(20);
  double yValue = rnd.Next(100);
  line1.Add(xValue, yValue, xValue.ToString());
}
tChart1.Axes.Bottom.Labels.Style = Steema.TeeChart.AxisLabelStyle.Text;


VB :
Dim Line1 As New Steema.TeeChart.Styles.Line(TChart1.Chart)
Dim Rnd As New Random
Dim I As Integer
For I = 0 To 9
   Dim xValue As Double = Rnd.Next(20)
   Dim yValue As Double = Rnd.Next(100)
   Line1.Add(xValue, yValue, xValue.ToString)
Next
TChart1.Axes.Bottom.Labels.Style = Steema.TeeChart.AxisLabelStyle.Text

1

 

Q.下軸に日付と時間をどのように表示すればいいですか?

2010/11/05

A.下記のコードを参考にしてください。

C# :
private void Form1_Load(object sender, System.EventArgs e) {
  Steema.TeeChart.Styles.Line line1 = new Steema.TeeChart.Styles.Line(tChart1.Chart);
  Random rnd = new Random();
  DateTime start = DateTime.Now;

  line1.XValues.DateTime = true;

  for(int i = 0; i < 20; ++i) {
    line1.Add(start, rnd.Next(100), "", Color.Red);
    start = start.AddSeconds(30);
  }

  tChart1.Axes.Bottom.Labels.Angle = 90;
  tChart1.Axes.Bottom.Labels.DateTimeFormat = "G";
  tChart1.Axes.Bottom.Increment = Steema.TeeChart.Utils.DateTimeStep[(int)Steema.TeeChart.DateTimeSteps.OneMinute];
}


VB :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  Dim Line1 As New Steema.TeeChart.Styles.Line(TChart1.Chart)
  Dim Rnd As New Random
  Dim Start As DateTime = DateTime.Now
  Dim I As Integer

  Line1.XValues.DateTime = True

  For I = 0 To 19
   Line1.Add(Start, Rnd.Next(100), "", Color.Red)
   Start = Start.AddSeconds(30)
  Next

  TChart1.Axes.Bottom.Labels.Angle = 90
  TChart1.Axes.Bottom.Labels.DateTimeFormat = "G"
  TChart1.Axes.Bottom.Increment = Steema.TeeChart.Utils.DateTimeStep(Steema.TeeChart.DateTimeSteps.OneMinute)
End Sub

DateTimeFormat文字列に関する詳細は下記を参照してください:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemglobalizationdatetimeformatinfoclasstopic.asp

 

Copyright (C) NEWTONE Corporation. All rights reserved.