ニュートン メニュー

株式会社ニュートン

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

YouTube公式チャンネル

体験版ダウンロード

製品案内

ライセンスパック

ライセンスについて

カスタマイズ受付

製品購入ガイド

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

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

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

サポート体制

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

会社概要

個人情報保護方針

お問い合わせ先

 

ニュートンホーム Q&A
Instrumentation ModelKit 4J

クール計器コンポーネント
Instrumentation ModelKit 4J

このページは、Instrumentation ModelKit 4J 関連のユーザ様より寄せられたご質問の一部とその回答を掲載しております。


【Instrumentation ModelKit 4J Q&A一覧】

QNo.

タイトル

Q. 質問

日付

A. 回答

24

プロジェクトを開くとライセンスに関するメッセージが表示される

Q. 別のPCで作成した、本製品を利用したVisual Studio のプロジェクトを開くと次のようなメッセージがダイアログに表示されます。

The program has detected that you are possibly using one and the same
license key on more than one computer.
In order to use this program on this computer, you should acquire an
additional license.
To do that, please contact at nstore-j@newtone.co.jp

解決方法はありますか?

 

2012/07/24

A. はい、そのような現象になる場合があることが確認されています。この場合は、このメッセージを無視してダイアログの「Continue」ボタンを押しプロジェクトを開き、一度、プロジェクトの「リビルド」をお試しください。

23 ツールボックスへの登録

Q. インストールしても、ツールボックスに Instrumentation ModelKit コンポーネントが表示されない場合がありますか?

2012/01/31

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

22

航空機などの「姿勢指示器」の作成

Q. Instrumentation ModelKitで、航空機などで利用される「姿勢指示器」のような計器は作成できますか?
 

2011/04/20

A. はい、サンプルプロジェクトを用意しました。
次のリンクからダウンロードできます。

AirHorizont.zip

このサンプルは機体の水平:ロール(Roll)と上向き下向き:ピッチ(Pitch)を同時に表現しています。
実行すると次のような画面が表示されます。


 

21

オリジナルな計器コントロールの作成

Q. Instrumentation ModelKitで、全くオリジナルな計器コントロールを作成することはできますか?
 

2010/10/08

A. はい、独自の計器を作成できます。
また、既存の計器コントロールを流用したしたものも作成できます。

計器の作成は、「Instrumentデザイナ」で行います。
計器を作成する方法につきましては、以下のドキュメントをご覧ください。

ユーザーズガイド「NETModelKitSuiteUserGuide.chm」の

[Instrumentation ModelKit]→[オブジェクトについて]→[計器について]
および
[Instrumentation ModelKit]→[計器のデザインについて]→[スライダ付きの簡単な計器をデザイン]
および
[Instrumentation ModelKit]→[計器のデザインについて]→[複雑な式を使用して計器を作成]
 

20

製品版なのに体験版ダイアログが表示される

Q. 体験版ではない製品版のライセンス登録を行ったInstrumentation ModelKit を含む.NET ModelKitを使用したアプリケーションをエンドユーザの実行環境で起動すると体験期間を示すダイアログ表示される場合があります。どうしたらよいですか?
 

2010/10/08
(2012/09/04修正)

A. はい、それはプロジェクト内にある「licenses.licx」ファイルが関係しています。.NET ModelKitに限らず市販のコンポーネントをフォームに配置するとVisual Studioによってそのコンポーネントが自動的に「licenses.licx」にリスト(記述)されます。
しかし、フォームに配置せず実行時に新しいインスタンスを作成して利用するようなコードを記述してある場合は、「licenses.licx」にそのコンポーネントの記載はありません。
そういった場合にそのコンポーネントのライセンスが見当たらないため「体験版」などのダイアログが表示される仕組みになっているのです。
これを回避するためには、Visual Studioに頼らず必要なコンポーネントをあらかじめ「licenses.licx」ファイルに記載しておけばよいのです。

以下に、.NET ModelKitで使用するコンポーネントを製品別に記載します。必要部分をそのまま、「licenses.licx」に記載してください。

含まれる製品 コンポーネント名 licenses.licx上の記載
Report Sharp Shooter(全エディション)
および
ModelKit Suite
ReportManager PerpetuumSoft.Reporting.
Designer.ReportDesigner,
PerpetuumSoft.Reporting, Culture=neutral


PerpetuumSoft.Reporting.
Components.ReportManager,
PerpetuumSoft.Reporting, Culture=neutral
Report Sharp Shooter(LiteおよびWebを除く全エディション)
および
ModelKit Suite
ReportDesigner
(RSS.RunTimeDesigner)
PerpetuumSoft.Reporting.
Components.ReportManager,
PerpetuumSoft.Reporting, Culture=neutral


PerpetuumSoft.Reporting.
Designer.ReportDesigner,
PerpetuumSoft.Reporting, Culture=neutral
Report Sharp Shooter(Webを除く全エディション)
および
ModelKit Suite
ReportViewer
(RSS.Win)
PerpetuumSoft.Reporting.
View.ReportViewer,
PerpetuumSoft.Reporting, Culture=neutral
Report Sharp Shooter(Lite,Winを除く全エディション)
および
ModelKit Suite
SharpShooter
WebViewer
(RSS.Web)
PerpetuumSoft.Reporting.
Web.SharpShooterWebViewer,
PerpetuumSoft.Reporting.Web, Culture=neutral
OLAP ModelKit
および
ModelKit Suite
DataCube PerpetuumSoft.Olap.DataCube,
PerpetuumSoft.Olap,
Culture=neutral
Instrumentation ModelKit(Webを除く全エディション)
および
ModelKit Suite
Widget
(IMK.Win)
PerpetuumSoft.Instrumentation.
Windows.Forms.Widget,
PerpetuumSoft.Instrumentation, Culture=neutral
Instrumentation ModelKit(Winを除く全エディション)
および
ModelKit Suite
WidgetProducer
(IMK.Web)
PerpetuumSoft.Instrumentation.
Web.WidgetProducer,
PerpetuumSoft.Instrumentation.
Web,Culture=neutral
Chart ModelKit(Webを除く全エディション)
および
ModelKit Suite
ChartViewer
(Chart.Win)
PerpetuumSoft.Charts.Windows.
Forms.ChartViewer, PerpetuumSoft.Charts,
Culture=neutral
Chart ModelKit(Winを除く全エディション)
および
ModelKit Suite
WebChartViewer
(Chart.Web)
PerpetuumSoft.Charts.Web.
WebChartViewer,
PerpetuumSoft.Chart.Web,
Culture=neutral
Report Sharp Shooter for Silverlight
および
ModelKit Suite
ReportServices (RSS.Silverlight) PerpetuumSoft.Reporting.
Silverlight.Server.ReportServiceBase, PerpetuumSoft.Reporting.
Silverlight.Server,
Culture=neutral

 

19

Webページでゲージの色変更

Q. Webページが2ページあって、「Page1.aspx」にはwidget holderコンポーネントが、「Page2.aspx」にはwidget producerコンポーネントがあります。「Page1.aspx」内でwidget holderのproducerURLプロパティに「Page2.aspx」を割り当て 、「Page2.aspx」で定義した温度計を「Page1.aspx」上で表示します。
「Page2.aspx」のwidget producerで、緑→黄→赤になる色分けのスケールにしたい場合、「Page2.aspx」のwidget producer
で定義してある温度計のスケールのcolorizerプロパティ を、「Page1.aspx」から変更すること ができますか?
たとえば、Green = 70%, Yellow = 20%, Red = 10%といったように。
この場合、「Page1.aspx」のwidger holder のParametersプロパティを使用して、「Page2.aspx」のスライダ値やラベルのテキストが変更できることは知っています。

2010/10/08

A. 残念ながら、colorizer は複合オブジェクトで、「Page2.aspx」のページに渡すことはできません。

18

WebページでWidget ProducerコンポーネントとWidget Holderコンポーネントを同一ページにできるか

Q. ゲージの使用について調べていて、WebForms に関して質問があります。ASPX ページにはwidget producerがあります。メインページにはwidget holder があって、そのwidget holderのProducerURLプロパティにはwidget producerのあるページを設定しています。
しかし、これらを単一ページで実現する方法はありますか?

2010/10/08

A. Widget Producerが配置されているページは、Widget Holder のためのイメージを生成するのに使用されますので、Widget ProducerコンポーネントとWidget Holderコンポーネントは同一ページで利用することはできません。

17

ページにWidgetProducer があると、Page_Load イベントを取得できない

Q. ページにWidgetProducer を追加すると、page_init イベントが発生しますが、page_load イベントは発生しません。どうしてこうなるかわかりますか?

2010/10/08

A. Widget Producer が配置されているページが読み込まれていません。実際、このページはWidget Holder が表示するイメージしか返しません。このページのpage_load イベントがWidgetProducer で動作しないのはそのためです。

16

計器の制御

Q. 実行時に温度計を追加し、色も変更できる方法を 教えてください。

2010/10/08

A. 実行時モードに温度計を追加(作成)するのは非常に困難ですが、前もってimk ファイルを用意しておくことはできます。このファイルに温度計のデザインを入れておき、その温度計をウィジェットに読み込むことができます。

コード:

widget1.Instrument = (PerpetuumSoft.Instrumentation.Model.Instrument)PerpetuumSoft.Framework.Serialization
.XSerializationManager.Read("Instrument.imk");

15

シリアライズ

Q. indicator widget を保存して読み込もうとしているのですができません。

基本的に、indicator widget をファイルに保存し、保存した状態に戻すためにindicator widget を読み込む必要があります。これをバイナリ形式で行わなければなりません。

サンプルをもらえませんか?

2010/10/08

A. XMLのシリアライズ過程でどんな問題があるのか、どうしてウィジェットをバイナリ形式で保存しなければならないのか教えてください。

Q. XMLのシリアライズは正常に動作するのですが、アプリケーションにはバイナリ形式でファイルに保存されている他のコンポーネントがあるので、バイナリで保存する必要があります。ユーザ用のファイル形式を壊してしまうかもしれないので、アプリケーションの残りのコンポーネントをXMLファイルで保存するように変更するのは大変だと考えています。

バイナリ形式でそれを行う方法はありますか?

A. この場合、オブジェクトだけXMLでシリアライズし、XMLをバイナリ形式で保存できます。

14

.NET Model Kit Suiteをインストールできません

Q. Windows Vistaに.NET Model Kit Suiteをインストールしようとしているのですが、次のメッセージが表示されインストールできません。
回避方法を教えてください。


 

2010/10/08

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

13

透明度に関する質問

Q. コントロールの透明度に関する質問があります。背景イメージを使っています。背景イメージの前面には複数のレバーと丸いボタンコントロールを設定したいのですが、コントロールのBackColor 属性を「透明」にすると、コントロールの背景色がフォームの背景色に変わってしまいます。
たとえば、フォーム全体の上にビットマップが1つあります。背景は見えません。ここで、
レバーを1つ追加します。イメージの前面には、フォームにある背景色付きの四角いコントロールがあります。透明になりません。

コントロールの背景を透明にするにはどうすればよいですか?

2010/10/08

A.      Transparentコントロールが必要です。透明なウィジェットのサンプルを以下の URL からダウンロードできます。

TrabsparencyWidget.zip
 

12

DashboardViewerのスクロール

Q. PerpetuumSoft.Charts.Windows.Forms.DashboardViewer でのスクロールバーの簡単な使用法がないかと考えています。アプリケーションのフォームには、他の多数のダッシュボードで継承されるBaseクラスのDashboardViewer があります。DashboardViewer にAutoScroll属性を指定してあります。デザイン時にダッシュボードのスクロールバーを手動で設定してみました。DashboardViewer でスクロールを有効にする方法を教えてもらえないでしょうか?

2010/10/08

A. 申し訳ございませんが、現時点ではそういった機能はございません。

11

DashboardViewer のサンプル

Q. DashboardViewerのサンプルプロジェクトはありますか?

2010/10/08

A. パッケージに含まれている次のサンプルをご覧ください。

Perpetuum Software->dotNet ModelKit Suite->Chart ModelKit-> 「Chart ModelKit samples center の実行」

「DashboardViewer
コントロールの使用」サンプルをご覧ください。

アプリケーションのソースコードは以下をご覧ください。

Perpetuum Software->dotNet ModelKit Suite->Chart ModelKit->Samples->Schart|VisaulBasic->ChartSamplesCenter
 

10

"ValueChanged" イベントはありますか?

Q. 計器の値が変更された時のイベントはありますか?

たとえば、フォームにオン/オフの切り替え可能なスイッチがあります。そのコントロールのClickイベントを基に、
"ValueChanged" イベントとして処理して動作を行っています。しかし、スイッチ上でマウスを押したままカーソルをコントロールの領域外までドラッグし、マウスを離すと、スイッチの状態が変わるのに気付きました。しかし、(クリックイベントでは明らかにコントロール領域内のmouseup & mousedown が必要なのに)クリックイベントが発生しません。スイッチの状態が変わっても、コードはそれに応じません。

これを回避するためにつけるイベントはありますか?

2010/10/08

A. 現象を確認しようとしましたが、値をマウスで変更するたびにIndicatorWidget.ValueChanged が発生することに気付きました。ポインタをコントロールの後ろに移動してみても、このイベントは発生します。
Slider.ValueChanged
イベントを使ってみてください。次のコードを使用してこのイベントにイベントハンドラを追加できます。

コード:

PerpetuumSoft.Instrumentation.Model.Slider slider = indicatorWidget1.Instrument.GetByName("Slider1") as PerpetuumSoft.Instrumentation.Model.Slider;
if (slider != null)
slider.ValueChanged += new PerpetuumSoft.Framework.Model.PropertyEventHandler(slider_ValueChanged);

9

Indicator Widget の動作

Q. 計器の値を設定するために次のコードを使用しています。

objMeter.Value
= 10

(objMeter
がIndicatorWidget の場合)

この1行を実行するのに約50ミリ秒かかります。これは普通ですか?もっと速くなりませんか?VistaでVS 2005を実行しています。

2010/10/08

A. Instrumentation ModelKitは100%マネージドコードで書かれています。これには多くの利点がありますが、.NET (GDI+)での描画が比較的遅く、すべての動作がGDI+での再描画と関連があります。

8

スケールを反転できますか?

Q. 最小値を100に、最大値を-100に設定するには?

2010/10/08

A. Scale.Reverse プロパティを使ってみてください。

7

オドメータの値

Q. C#を使用してどのようにオドメータまたは数値の値を動的に変更すればよいのでしょうか?

2010/10/08

A. instrumentのスライダの値を動的に変更するには、instrument からSlider オブジェクトを取得し、それに必要な値を設定しなければなりません。
例:

コード:


PerpetuumSoft.Instrumentation.Model.Slider slider = indicatorWidget1.Instrument.GetByName("Slider1") as PerpetuumSoft.Instrumentation.Model.Slider;
if (slider != null)
slider.Value = 10;
 
また、計器にスライダがひとつだけの場合は、IndicatorWidget コントロールを使用し、SliderName プロパティを設定することをお勧めします。
その後で、以下のコードを使用して値を設定できます。

indicatorWidget1.Value = 10;

 

6

Colorizer クラスの作成方法

Q. CustomLabels クラスに新規のColorizer クラスを設定したいのですが、Colorizer クラスのColorSections を設定するものがありません。このメンバを実行時に変更できますか?

2010/10/08

A. 実行時にCustomLabels の色を変更したいということでしょうか?
PerpetuumSoft.Instrumentation.Model.Drawing.SectionsColorizer クラスを使用できます。次のコードはCustomLabels1の色の変更方法を示したものです。

コード:


PerpetuumSoft.Instrumentation.Model.CustomLabels labels = indicatorWidget1.Instrument.GetByName("CustomLabels1") as PerpetuumSoft.Instrumentation.Model.CustomLabels;
if (labels != null)
{
PerpetuumSoft.Instrumentation.Model.Drawing.SectionsColorizer myColorizer = new PerpetuumSoft.Instrumentation.Model.Drawing.SectionsColorizer();
myColorizer.ColorSections.Add(new PerpetuumSoft.Instrumentation.Model.Drawing.ColorSection(Color.Red, 0.3));
myColorizer.ColorSections.Add(new PerpetuumSoft.Instrumentation.Model.Drawing.ColorSection(Color.Yellow, 0.7));
myColorizer.ColorSections.Add(new PerpetuumSoft.Instrumentation.Model.Drawing.ColorSection(Color.Green, 1.0));
labels.Colorizer = myColorizer;
}

5

円の色

Q. Instrumentation Modelkitを使用しています。C#コードを使用して動的に円の色を変更するにはどうすればよいのでしょうか?

2010/10/08

A. 次のようなコードを使用してください。

コード:


PerpetuumSoft.Instrumentation.Model.Instrument instrument = widget1.Instrument;
if (instrument != null)
{
PerpetuumSoft.Instrumentation.Model.Circle circle = instrument.GetByName("Circle1") as PerpetuumSoft.Instrumentation.Model.Circle;
if (circle != null)
{
circle.Fill = new PerpetuumSoft.Framework.Drawing.SolidFill(Color.Red);
// or some other PerpetuumSoft.Framework.Drawing.*****Fill
}
}

4

実行時のスタイルの変更

Q. 実行時にゲージの外観を簡単に変える方法はありますか?今、Instrumentation Model Kitを試しているところで、ボタンをくりっくしたらモノクロ(白黒)の外観がデフォルトの「フルカラー」に切り替わるようにしたい。

2010/10/08

A. 計器の各ビジュアルオブジェクトにカスタムなスタイルを割り当てることができます。スタイルには塗りつぶし、線種、フォントがあります。オブジェクトの外観を変更するには、該当するスタイルのプロパティを変更するだけです。
スタイルは
Instrument.Styles プロパティのコレクションに格納されています。
つまり、オブジェクトの外観を変更するには、該当するスタイルを
Instrument.Styles プロパティから取得し、プロパティのいくつかを変更してください。

以下のサンプルをご覧ください。

ChangeStylesExample.zip.

実行時のスタイルの変更を示しています。
独自のスタイルを設定してください。

3

ウィジェットを有効にした状態で、マウスクリックしたときに値を変更させないようにするには

Q. コードの中だけで値を制御する必要があります(データベースから取得した値に応じてコードを設定)。
Click イベントを処理できるようにするためにウィジェットを有効にしなければなりません。
でも、ユーザがウィジェットをクリックすると値が変更します。
マウスをクリックしたときに値が変更されないようにし、私がイベントハンドラを使えるようコントロールにClickイベントを渡す方法を教えてもらえませんか?

2010/10/08

A. マウスクリックで計器を変更しないようにするには、Slider.Active プロパティをtrueに設定し、独自にイベントを処理してください。

2

動的に変更したときにスライダの値を表示するためのVB コード

Q. 動的に変更したときに、ウィジェットのスライダの値を表示するためのVB .NETのサンプルコードはありますか?たとえば、Form1にラベルが2つあって、ユーザがジョイントの周りでラベルを回転した場合、表示されたLabel.Text (動的な値を表示)の値を動的に変更するには、イベントハンドラのVBコードはどのようになりますか?

2010/10/08

A. パッケージに含まれているサンプル:メインメニュー – スタート->すべてのプログラム-> Perpetuum Software->dotNet ModelKit Suite ->Instrumentation Model Kit->Samples->Visual Basic->WidgetUseExampleをご覧ください。

1

ウィジェット

Q. 計器のウィジェットを使用して、次のVB.NETのコードでCircularGage1とSlider1を制御します。

Public Class Form1

Private Sub Slider1_ValueChanged(ByVal sender As System.Object
, ByVal e As System.EventArgs) Handles Slider1.ValueChanged
CircularGauge1.Value = Slider1.Value
End Sub
End Class

この場合、Instrumentation Model Kit のMeter 1を制御するには、
ウィジェットのスライダにどんなVB.NETコードを使用しなければならないでしょうか?

2010/10/08

A. Indicator Widget に計器を配置し、Slider.Name プロパティを設定し、次のようなコードを使用できます。Indicator Widget を使用しない何らかの理由がある(例:複数のスライダがあって、それぞれ値を設定しておかなければならない)場合、次のコードを使用してください。

コード:

Dim slider1 As PerpetuumSoft.Instrumentation.Model.Slider = widget1.Instrument.GetByName("Slider1")
slider1.Value = value

ここで計器のオブジェクトを名前で取得してから必要な値を設定します。

 

Copyright (C) NEWTONE Corporation. All rights reserved.