グラフィックス 目次

Size: px
Start display at page:

Download "グラフィックス 目次"

Transcription

1 WPF チュートリアル Windows フォームでの WPF 複合コントロールのホスト Windows Presentation Foundation(WPF) は アプリケーションの作成に適した環境を提供する 但し Windows フォームのコードに多大な手間と時間を懸けた場合は コードを最初から記述し直すよりも 既存の Windows フォームアプリケーションを WPF で拡張する方が効率的と成る事も有る 一般的なシナリオとしては Windows フォームアプリケーション内に WPF を使用して実装したコントロールを埋め込む場合が挙げられる WPF コントロールのカスタマイズ方法の詳細に付いては コントロールのカスタマイズ を参照され度い 此のチュートリアルでは Windows フォームアプリケーションで WPF 複合コントロールをホストしてデータエントリを実行するアプリケーションに付いて段階的に説明する 複合コントロールは DLL にパッケージ化されて居る 此の一般的な手順は 更に複雑なアプリケーションやコントロールに拡張出来る 此のチュートリアルは 外観や機能が チュートリアル : WPF での Windows フォーム複合コントロールのホスト の例と粗同じに成る様に設計されて居る 主な違いは ホストする側とされる側が逆で有る事で有る チュートリアルは 2 つのセクションに分かれて居る 最初のセクションでは WPF 複合コントロールの実装に付いて簡単に説明する 2 番目のセクションでは Windows フォームアプリケーションで複合コントロールをホストし コントロールからイベントを受け取って コントロールのプロパティの一部にアクセスする方法に付いて詳しく説明する 此のチュートリアルでは 以下のタスクを行う WPF 複合コントロールを実装する Windows フォームホストアプリケーションを実装する WPF 複合コントロールの実装 此の例で使用される WPF 複合コントロールは ユーザーの名前と住所を受け取る単純なデータ入力フォームで有る ユーザーが 2 つのボタンの孰れかをクリックして入力操作が終了した事を示すと コントロールは入力情報をホストに返すカスタムイベントを発生させる レンダリングされたコントロールを次の図に示す -1- WPF 複合コントロール

2 プロジェクトの作成 1.Microsoft Visual Studio を起動して [ 新しいプロジェクト ] ダイアログボックスを開く 2.Visual Basic 又は Visual C# の Windows のカテゴリで [WPF ユーザーコントロールライブラリ ] テンプレートを選択する Express バージョンでは 上記のテンプレートは存在しないので 先ず クラスライブラリ ( 又は Windows フォームアプリケーション ) を選択し ユーザーコントロール (WPF) を追加して クラスライブラリ ( 又は Windows フォーム ) を削除する 3. 新しいプロジェクトに MyControls と謂う名前を付ける 4. 配置場所としては WindowsFormsHostingWpfControl 等 解り易い名前を付けた最上位フォルダーを指定する 此のフォルダーには後でホストアプリケーションも配置する 5.[OK] をクリックして プロジェクトを作成する 既定のプロジェクトには UserControl1 と謂う名前の 1 つのコントロールが含まれる 6. ソリューションエクスプローラーで UserControl1 の名前を MyControl1 に変更する プロジェクトは 次のシステム DLL を参照して居る必要が有る 此等の DLL の孰れかが既定で含まれて居ない場合は プロジェクトに追加する PresentationCore PresentationFramework System WindowsBase ユーザーインターフェイスの作成 複合コントロールのユーザーインターフェイス (UI) は Extensible Application Markup Language (XAML) を使用して実装される 複合コントロールの UI は 5 つの TextBox 要素で構成されて居る 各 TextBox 要素には ラベルとして使用される TextBlock 要素が関連付けられて居る 下部には [OK] 及び [Cancel] と謂う 2 つの Button 要素が有る ユーザーが孰れかのボタンをクリックすると コントロールは情報をホストに返すカスタムイベントを発生させる 基本的なレイアウト Grid 要素には 様々な UI 要素が格納される Grid を使用して HTML で Table 要素を使用する場合と殆ど同じ方法で 複合コントロールのコンテンツを配置出来る WPF には Table 要素も有るが Grid の方が軽量で 単純なレイアウトタスクに適して居る 次の XAML に基本的なレイアウトを示す 此の XAML では Grid 要素に列と行の数を指定する事に依り コントロールの全体的な構造を定義して居る MyControl1.xaml で 既存の XAML を次の XAML で置き換える (Grid 部分 ) -2-

3 XAML <Grid xmlns=" xmlns:x=" x:class="mycontrols.mycontrol1" Background="#DCDCDC" Width="375" Height="250" Name="rootElement" Loaded="Init"> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions>... </Grid> UI 要素のスタイル設定 データ入力フォームの多くの要素は 外観が似て居る 詰まり 其等の要素では幾つかのプロパティの設定が同一に成る 前の XAML では 各要素の属性を個別に設定するのではなく Style 要素を使用して 複数の要素のクラスの標準プロパティ設定を定義して居る 此の方法では コントロールの複雑さが軽減され 1 つのスタイル属性を使用して複数の要素の外観を変更出来る Style 要素は Grid 要素の Resources プロパティに格納される為 コントロール内の総ての要素で使用出来る スタイルに名前が付いて居る場合は 其のスタイルの名前に設定された Style 要素を追加する事に依って 要素に其のスタイルを適用する 名前が付いて居ないスタイルは 要素の既定のスタイルに成る WPF のスタイルの詳細に付いては スタイルとテンプレート を参照され度い 複合コントロールの Style 要素を次の XAML に示す スタイルが要素に何の様に適用されるかに付いては 前の XAML を参照され度い 例えば 最後の TextBlock 要素には inlinetext スタイルが適用され 最後の TextBox 要素は既定のスタイルを使用する MyControl1.xaml で 次の XAML を Grid の開始要素の直後に追加する -3-

4 XAML <Grid.Resources> <Style x:key="inlinetext" TargetType="x:Type TextBlock"> <Setter Property="Margin" Value="10,5,10,0"/> <Setter Property="FontWeight" Value="Normal"/> <Setter Property="FontSize" Value="12"/> </Style> <Style x:key="titletext" TargetType="x:Type TextBlock"> <Setter Property="DockPanel.Dock" Value="Top"/> <Setter Property="FontWeight" Value="Bold"/> <Setter Property="FontSize" Value="14"/> <Setter Property="Margin" Value="10,5,10,0"/> </Style> <Style TargetType="x:Type Button"> <Setter Property="Margin" Value="10,5,10,0"/> <Setter Property="Width" Value="60"/> </Style> <Style TargetType="x:Type TextBox"> <Setter Property="Margin" Value="10,5,10,0"/> </Style> </Grid.Resources> TextBlock 要素と TextBox 要素のグリッドへの追加 グリッドに UI 要素を配置するには 其の要素の Row プロパティと Column プロパティに適切な行番号と列番号を設定する 行と列の番号付けは 0 から始まる点に注意する ColumnSpan プロパティを設定する事に依って 1 つの要素を複数の列に跨がって表示する事が出来る Grid 要素の詳細に付いては 方法 : グリッド要素を作成する を参照され度い 次の XAML では 複合コントロールの TextBox 要素と TextBlock 要素に 要素をグリッドに適切に配置する為の Row プロパティと Column プロパティを設定して居る MyControl1.xaml で 次の XAML を Grid 要素内に追加する XAML <TextBlock Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="4" Margin="10,5,10,0" HorizontalAlignment="Center" Style="StaticResource titletext">simple WPF Control</TextBlock> <TextBlock Grid.Column="0" Grid.Row="1" Style="StaticResource inlinetext" Name="nameLabel">Name</TextBlock> <TextBox Grid.Column="1" Grid.Row="1" -4-

5 Grid.ColumnSpan="3" Name="txtName"/> <TextBlock Grid.Column="0" Grid.Row="2" Style="StaticResource inlinetext" Name="addressLabel">Street Address</TextBlock> <TextBox Grid.Column="1" Grid.Row="2" Grid.ColumnSpan="3" Name="txtAddress"/> <TextBlock Grid.Column="0" Grid.Row="3" Style="StaticResource inlinetext" Name="cityLabel">City</TextBlock> <TextBox Grid.Column="1" Grid.Row="3" Width="100" Name="txtCity"/> <TextBlock Grid.Column="2" Grid.Row="3" Style="StaticResource inlinetext" Name="stateLabel">State</TextBlock> <TextBox Grid.Column="3" Grid.Row="3" Width="50" Name="txtState"/> <TextBlock Grid.Column="0" Grid.Row="4" Style="StaticResource inlinetext" Name="zipLabel">Zip</TextBlock> <TextBox Grid.Column="1" Grid.Row="4" Width="100" Name="txtZip"/> [OK] 及び [Cancel] ボタンの追加 複合コントロール上の最後の要素は Grid の最後の行の最初の 2 つの列を専有する [OK] 及び [Cancel] の Button 要素で有る 此等の要素は 共通のイベントハンドラーで有る ButtonClicked 及び 前の XAML で定義された既定の Button スタイルを使用する MyControl1.xaml で 次の XAML を最後の TextBox 要素の後に追加する 複合コントロールの XAML 部分は此れで完成で有る -5-

6 XAML <Button Grid.Row="5" Grid.Column="0" Name="btnOK" Click="ButtonClicked">OK</Button> <Button Grid.Row="5" Grid.Column="1" Name="btnCancel" Click="ButtonClicked">Cancel</Button> 分離コードファイルの実装 分離コードファイル MyControl1.xaml.vb 又は MyControl1.xaml.cs は 3 つの基本的なタスクを実装する 1. ユーザーがボタンの孰れかをクリックした時に発生するイベントを処理する 2.TextBox 要素からデータを取得し 其のデータをカスタムイベント引数オブジェクトにパッケージ化する 3. ユーザーが操作を終了した事をホストに通知し 入力データをホストに渡すカスタム OnButtonClick イベントを発生させる コントロールは 外観を変更する為の色とフォントのプロパティも幾つか公開する Windows フォームコントロールをホストする為に使用される WindowsFormsHost クラスとは異なり ElementHost クラスはコントロールの Background プロパティ而巳を公開する 此のコード例と チュートリアル : WPF での Windows フォーム複合コントロールのホスト で説明した例の類似性を保持する為に 此のコントロールでは残りのプロパティを直接公開する 分離コードファイルの基本構造 分離コードファイルは MyControl1 及び MyControlEventArgs と謂う 2 つのクラスを格納する単一の名前空間で有る MyControls で構成されて居る Visual Basic Public Class MyControl1 End Class Public Class MyControlEventArgs Inherits EventArgs End Class Visual C# namespace MyControls -6-

7 public class MyControl1 //... public class MyControlEventArgs : EventArgs //... 最初のクラスで有る MyControl1 は MyControl1.xaml で定義された UI の機能を実装するコードを格納する部分クラスで有る MyControl1.xaml が解析されると 其の XAML は同じ部分クラスに変換され 2 つの部分クラスがマージされて コンパイルされたコントロールを形成する 此の為 分離コードファイル内のクラス名は MyControl1.xaml に割り当てられたクラス名と一致する必要が有り コントロールのルート要素から継承する必要が有る 2 番目のクラスで有る MyControlEventArgs はホストにデータを返送する為に使用されるイベント引数クラスで有る MyControl1.xaml.vb 又は MyControl1.xaml.cs を開く 次の名前に合わせて既存のクラス宣言を変更し Grid を継承する (System.Windows.Controls 名前空間をインポートして置くと便利 ) Visual Basic Imports System.Windows Imports System.Windows.Controls Imports System.Windows.Media Partial Public Class MyControl1 Inherits Grid Visual C# using System.Windows using System.Windows.Controls using System.Windows.Media public partial class MyControl1 : Grid コントロールの初期化 此のコードでは 次の基本タスクを実装する プライベートイベントで有る OnButtonClick 及び 其のイベントに関連付けられたデリゲートで有る MyControlEventHandler を宣言する ユーザーのデータを格納する複数のプライベートグローバル変数を作成する 此のデータは 対応するプロパティを通じて公開される コントロールの Loaded イベントのハンドラー Init を実装する 此のハンドラーは グローバル変数に MyControl1.xaml で定義された値を割り当てる事に依って グローバル変数を初期化する 初期化するには 一般的な TextBlock の要素で有る namelabel に割り当てられた Name を使用して 此の要素のプロパティの設定にアクセスする -7-

8 既存のコンストラクターを削除し 次のコードを MyControl1 クラスに追加する Visual Basic Public Delegate Sub MyControlEventHandler(ByVal sender As Object, _ ByVal args As MyControlEventArgs) Public Event OnButtonClick As MyControlEventHandler Private _fontweight As FontWeight Private _fontsize As Double Private _fontfamily As FontFamily Private _fontstyle As FontStyle Private _foreground As SolidColorBrush Private _background As SolidColorBrush Private Sub Init(ByVal sender As Object, ByVal e As EventArgs) _fontweight = namelabel.fontweight _fontsize = namelabel.fontsize _fontfamily = namelabel.fontfamily _fontstyle = namelabel.fontstyle _foreground = CType(nameLabel.Foreground, SolidColorBrush) _background = CType(nameLabel.Background, SolidColorBrush) Visual C# public delegate void MyControlEventHandler(object sender, MyControlEventArgs args); public event MyControlEventHandler OnButtonClick; private FontWeight _fontweight; private double _fontsize; private FontFamily _fontfamily; private FontStyle _fontstyle; private SolidColorBrush _foreground; private SolidColorBrush _background; private void Init(object sender, EventArgs e) //They all have the same style, so use namelabel to set initial values. _fontweight = namelabel.fontweight; _fontsize = namelabel.fontsize; _fontfamily = namelabel.fontfamily; _fontstyle = namelabel.fontstyle; _foreground = (SolidColorBrush)nameLabel.Foreground; _background = (SolidColorBrush)rootElement.Background; ボタンのクリックイベントの処理 ユーザーは [OK] ボタン 又は [Cancel] ボタンをクリックする事に依り データ入力タスクを完了した事を示す 此等のボタンは両方とも 同じ Click イベントハンドラーで有る ButtonClicked を使用する 此等のボタンには夫々 btnok 又は btncancel と謂う名前が付けられて居る 此れに依り ハン -8-

9 ドラーが sender 引数の値を調べる事に依って 孰れのボタンがクリックされたかを判断する事が出来る ハンドラーは次の処理を行う TextBox 要素からのデータを格納する MyControlEventArgs オブジェクトを作成する ユーザーが [Cancel] ボタンをクリックした場合に MyControlEventArgs オブジェクトの IsOK プロパティを false に設定する ユーザーが操作を終了した事をホストに示す OnButtonClick イベントを発生させ 収集したデータを渡す 次のコードを MyControl1 クラスの Init メソッドの後に追加する ( 此のコードを記述する前に 後述の MyControlEventArgs クラスを記述して置いた方が良い ) Visual Basic Private Sub ButtonClicked(ByVal sender As Object, ByVal e As RoutedEventArgs) Dim retvals As MyControlEventArgs = New MyControlEventArgs( _ True, _ txtname.text, _ txtaddress.text, _ txtcity.text, _ txtstate.text, _ txtzip.text) If sender.equals(btncancel) Then retvals.isok = False End If RaiseEvent OnButtonClick(Me, retvals) Visual C# private void ButtonClicked(object sender, RoutedEventArgs e) MyControlEventArgs retvals = new MyControlEventArgs( true, txtname.text, txtaddress.text, txtcity.text, txtstate.text, txtzip.text); if (sender == btncancel) retvals.isok = false; if (OnButtonClick!= null) OnButtonClick(this, retvals); -9-

10 プロパティの作成 クラスの残りの部分では単純に 前に説明したグローバル変数に対応するプロパティを公開する プロパティが変更されると set アクセサーが対応する要素のプロパティを変更し 基に成るグローバル変数を更新する事に依って コントロールの外観を変更する MyControl1 クラスに次のコードを追加する Visual Basic Public Property MyControl_FontWeight() As FontWeight Get Return _fontweight End Get Set(value As FontWeight) _fontweight = value namelabel.fontweight = value addresslabel.fontweight = value citylabel.fontweight = value statelabel.fontweight = value ziplabel.fontweight = value End Set End Property Public Property MyControl_FontSize() As Double Get Return _fontsize End Get Set(value As Double) _fontsize = value namelabel.fontsize = value addresslabel.fontsize = value citylabel.fontsize = value statelabel.fontsize = value ziplabel.fontsize = value End Set End Property Public Property MyControl_FontStyle() As FontStyle Get Return _fontstyle End Get Set(value As FontStyle) _fontstyle = value namelabel.fontstyle = value addresslabel.fontstyle = value citylabel.fontstyle = value statelabel.fontstyle = value ziplabel.fontstyle = value -10-

11 End Set End Property Public Property MyControl_FontFamily() As FontFamily Get Return _fontfamily End Get Set(value As FontFamily) _fontfamily = value namelabel.fontfamily = value addresslabel.fontfamily = value citylabel.fontfamily = value statelabel.fontfamily = value ziplabel.fontfamily = value End Set End Property Public Property MyControl_Background() As SolidColorBrush Get Return _background End Get Set(value As SolidColorBrush) _background = value rootelement.background = value End Set End Property Public Property MyControl_Foreground() As SolidColorBrush Get Return _foreground End Get Set(value As SolidColorBrush) _foreground = value namelabel.foreground = value addresslabel.foreground = value citylabel.foreground = value statelabel.foreground = value ziplabel.foreground = value End Set End Property Visual C# public FontWeight MyControl_FontWeight get return _fontweight; set _fontweight = value; -11-

12 namelabel.fontweight = value; addresslabel.fontweight = value; citylabel.fontweight = value; statelabel.fontweight = value; ziplabel.fontweight = value; public double MyControl_FontSize get return _fontsize; set _fontsize = value; namelabel.fontsize = value; addresslabel.fontsize = value; citylabel.fontsize = value; statelabel.fontsize = value; ziplabel.fontsize = value; public FontStyle MyControl_FontStyle get return _fontstyle; set _fontstyle = value; namelabel.fontstyle = value; addresslabel.fontstyle = value; citylabel.fontstyle = value; statelabel.fontstyle = value; ziplabel.fontstyle = value; public FontFamily MyControl_FontFamily get return _fontfamily; set _fontfamily = value; namelabel.fontfamily = value; addresslabel.fontfamily = value; citylabel.fontfamily = value; statelabel.fontfamily = value; ziplabel.fontfamily = value; public SolidColorBrush MyControl_Background -12-

13 get return _background; set _background = value; rootelement.background = value; public SolidColorBrush MyControl_Foreground get return _foreground; set _foreground = value; namelabel.foreground = value; addresslabel.foreground = value; citylabel.foreground = value; statelabel.foreground = value; ziplabel.foreground = value; ホストへのデータの返送 ファイルの最後のコンポーネントは 収集されたデータをホストに返送する為に使用される MyControlEventArgs クラスで有る MyControls 名前空間に次のコードを追加する 此の実装は簡単なので 此れ以上の説明はしない Visual Basic Public Class MyControlEventArgs Inherits EventArgs Private _IsOK As Boolean Private _Name As String Private _StreetAddress As String Private _City As String Private _State As String Private _Zip As String Public Sub New(result As Boolean, name As String, address As String, city As String, _ state As String, zip As String) _IsOK = result _Name = name _StreetAddress = address _City = city -13-

14 _State = state _Zip = zip Public Property MyName() As String Get Return _Name End Get Set(value As String) _Name = value End Set End Property Public Property MyStreetAddress() As String Get Return _StreetAddress End Get Set(value As String) _StreetAddress = value End Set End Property Public Property MyCity() As String Get Return _City End Get Set(value As String) _City = value End Set End Property Public Property MyState() As String Get Return _State End Get Set(value As String) _State = value End Set End Property Public Property MyZip() As String Get Return _Zip End Get Set(value As String) _Zip = value End Set End Property -14-

15 Public Property IsOK() As Boolean Get Return _IsOK End Get Set(value As Boolean) _IsOK = value End Set End Property End Class Visual C# public class MyControlEventArgs : EventArgs private string _Name; private string _StreetAddress; private string _City; private string _State; private string _Zip; private bool _IsOK; public MyControlEventArgs(bool result, string name, string address, string city, string state, string zip) _IsOK = result; _Name = name; _StreetAddress = address; _City = city; _State = state; _Zip = zip; public string MyName get return _Name; set _Name = value; public string MyStreetAddress get return _StreetAddress; set _StreetAddress = value; public string MyCity get return _City; set _City = value; public string MyState get return _State; -15-

16 set _State = value; public string MyZip get return _Zip; set _Zip = value; public bool IsOK get return _IsOK; set _IsOK = value; ソリューションをビルドする ビルドでは MyControls.dll と謂う名前の DLL が生成される Express バージョンでは プロジェクトのプロパティで アプリケーションの種類を クラスライブラリに変更してから ビルドする (Windows フォームで作成した場合 ) Windows フォームホストアプリケーションの実装 Windows フォームホストアプリケーションは ElementHost オブジェクトを使用して WPF 複合コントロールをホストする アプリケーションは OnButtonClick イベントを処理して 複合コントロールからデータを受け取る アプリケーションには コントロールの外観を変更する為に使用出来るオプションのボタンのセットも有る 次の図は アプリケーションを示して居る -16-

17 プロジェクトの作成 1.Visual Studio を起動して [ 新しいプロジェクト ] ダイアログボックスを開く 2.Visual Basic 又は Visual C# の Windows のカテゴリで [Windows フォームアプリケーション ] テンプレートを選択する 3. 新しいプロジェクトに WFHost と謂う名前を付ける 4. 配置場所としては MyControls プロジェクトの配置先と同じ最上位フォルダーを指定する 別々に保存した場合は 前述のプロジェクトで作成した MyControls.dll を此のプロジェクトのプロジェクトフォルダーにコピーして置くと良い 5.[OK] をクリックして プロジェクトを作成する MyControl1 及び 他のアセンブリを含む DLL への参照も追加する必要が有る 1. ソリューションエクスプローラーで プロジェクト名を右クリックし [ 参照の追加 ] を選択する 2.[ 参照 ] タブをクリックし MyControls.dll を格納して居るフォルダーを参照する 此のチュートリアルの場合は MyControls bin Debug フォルダーで有る 3.MyControls.dll を選択し [OK] をクリックする 4. 次のアセンブリへの参照を追加する ( 孰れも.NET Framework タブに有る ) PresentationCore PresentationFramework System.Xaml WindowsBase WindowsFormsIntegration アプリケーションのユーザーインターフェイスの実装 Windows フォームアプリケーションの UI には WPF 複合コントロールと対話する為の幾つかのコントロールが含まれて居る 1.Windows フォームデザイナーで Form1 を開く 2. コントロールを配置する為にフォームを拡げる 3. フォームの右上隅に WPF 複合コントロールを保持する為の System.Windows.Forms.Panel コントロールを追加する 4. 次の System.Windows.Forms.GroupBox コントロールをフォームに追加する -17-

18 name groupbox1 groupbox2 groupbox3 groupbox4 groupbox5 groupbox6 groupbox7 背景色前景色フォントサイズフォントファミリフォントスタイルフォントの太さコントロールからのデータ テキスト 5. 次の System.Windows.Forms.RadioButton コントロールを System.Windows.Forms.GroupBox コントロールに追加する GroupBox name テキスト groupbox1 radiobackgroundoriginal 標準 groupbox1 radiobackgroundlightgreen ライトグリーン groupbox1 radiobackgroundlightsalmon ライトサーモン groupbox2 radioforegroundoriginal 標準 groupbox2 radioforegroundred 赤 groupbox2 radioforegroundyellow 黄 groupbox3 radiosizeoriginal 標準 groupbox3 radiosizeten 10 groupbox3 radiosizetwelve 12 groupbox4 radiofamilyoriginal 標準 groupbox4 radiofamilytimes Times New Roman groupbox4 radiofamilywingdings WingDings groupbox5 radiostyleoriginal 標準 groupbox5 radiostyleitalic イタリック体 groupbox6 radioweightoriginal 標準 groupbox6 radioweightbold 太字 6. 次の System.Windows.Forms.Label コントロールを最後の System.Windows.Forms.GroupBox に追加する 此等のコントロールは WPF 複合コントロールから返されたデータを表示する GroupBox name テキスト groupbox7 lblname 名前 : groupbox7 lbladdress 番地 : groupbox7 lblcity 市区町村 : groupbox7 lblstate 都道府県 : groupbox7 lblzip 郵便番号 : フォームの初期化 通常は フォームの Load イベントハンドラー内にホスティングコードを実装する 次のコードは サンプルの Load イベントハンドラー WPF 複合コントロールの Loaded イベントのハンドラー 及び 後で使用する幾つかのグローバル変数の宣言を示す -18-

19 Windows フォームデザイナーで フォームをダブルクリックして Load イベントハンドラーを作成する Form1.vb 又は Form1.cs の先頭に 次の Imports 又は using ステートメントを追加する Visual Basic Imports System.Windows Imports System.Windows.Forms.Integration Imports System.Windows.Media Visual C# using System.Windows; using System.Windows.Forms.Integration; using System.Windows.Media; 既存の Form1 クラスの内容を次のコードで置き換える Visual Basic Public Class Form1 Private ctrhost As ElementHost Private wpfaddressctrl As MyControls.MyControl1 Private initfontweight As FontWeight Private initfontsize As Double Private initfontstyle As FontStyle Private initbackbrush As SolidColorBrush Private initforebrush As SolidColorBrush Private initfontfamily As FontFamily Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) _ Handles MyBase.Load ctrhost = New ElementHost() ctrhost.dock = DockStyle.Fill Panel1.Controls.Add(ctrHost) wpfaddressctrl = New MyControls.MyControl1() wpfaddressctrl.initializecomponent() ctrhost.child = wpfaddressctrl AddHandler wpfaddressctrl.onbuttonclick, AddressOf avaddressctrl_onbuttonclick AddHandler wpfaddressctrl.loaded, AddressOf avaddressctrl_loaded Private Sub avaddressctrl_loaded(byval sender As Object, ByVal e As EventArgs) initbackbrush = CType(wpfAddressCtrl.MyControl_Background, SolidColorBrush) initforebrush = wpfaddressctrl.mycontrol_foreground initfontfamily = wpfaddressctrl.mycontrol_fontfamily initfontsize = wpfaddressctrl.mycontrol_fontsize initfontweight = wpfaddressctrl.mycontrol_fontweight initfontstyle = wpfaddressctrl.mycontrol_fontstyle -19-

20 Visual C# private ElementHost ctrlhost; private MyControls.MyControl1 wpfaddressctrl; System.Windows.FontWeight initfontweight; double initfontsize; System.Windows.FontStyle initfontstyle; System.Windows.Media.SolidColorBrush initbackbrush; System.Windows.Media.SolidColorBrush initforebrush; System.Windows.Media.FontFamily initfontfamily; public Form1() InitializeComponent(); private void Form1_Load(object sender, EventArgs e) ctrlhost = new ElementHost(); ctrlhost.dock = DockStyle.Fill; panel1.controls.add(ctrlhost); wpfaddressctrl = new MyControls.MyControl1(); wpfaddressctrl.initializecomponent(); ctrlhost.child = wpfaddressctrl; wpfaddressctrl.onbuttonclick += new MyControls.MyControl1.MyControlEventHandler( avaddressctrl_onbuttonclick); wpfaddressctrl.loaded += new RoutedEventHandler( avaddressctrl_loaded); void avaddressctrl_loaded(object sender, EventArgs e) initbackbrush = (SolidColorBrush)wpfAddressCtrl.MyControl_Background; initforebrush = wpfaddressctrl.mycontrol_foreground; initfontfamily = wpfaddressctrl.mycontrol_fontfamily; initfontsize = wpfaddressctrl.mycontrol_fontsize; initfontweight = wpfaddressctrl.mycontrol_fontweight; initfontstyle = wpfaddressctrl.mycontrol_fontstyle; 前のコードの Form1_Load メソッドは WPF コントロールをホストする為の一般的な手順を示す 1. 新しい ElementHost オブジェクトを作成する 2. コントロールの Dock プロパティを DockStyle.Fill に設定する 3.ElementHost コントロールを Panel コントロールの Controls コレクションに追加する -20-

21 4.WPF コントロールのインスタンスを作成する 5.ElementHost コントロールの Child プロパティにコントロールを割り当てる事に依って フォーム上で複合コントロールをホストする Form1_Load メソッドの残りの 2 行は 2 つのコントロールイベントにハンドラーをアタッチする OnButtonClick は ユーザーが [OK] 又は [Cancel] ボタンをクリックした時に複合コントロールが発生させるカスタムイベントで有る 此のイベントを処理して ユーザーの応答を取得し ユーザーが指定したデータを総て収集する Loaded は WPF コントロールが完全に読み込まれた時に此のコントロールが発生させる標準のイベントで有る 此処で此のイベントを使用するのは 此の例ではコントロールからのプロパティを使用して複数のグローバル変数を初期化する必要が有るからで有る フォームの Load イベントが発生した時点では コントロールは完全には読み込まれて居らず 此等の値は未だ null に設定されて居る 此等のプロパティにアクセスするには コントロールの Loaded イベントが発生する迄待つ必要が有る 前のコードでは Loaded イベントハンドラーが示されて居る OnButtonClick ハンドラーに付いては次のセクションで説明する OnButtonClick の処理 OnButtonClick イベントは ユーザーが [OK] 又は [Cancel] ボタンをクリックした時に発生する イベントハンドラーは イベント引数の IsOK フィールドをチェックして 孰れのボタンがクリックされたかを判断する lbl data 変数は 前に説明した Label コントロールに対応する ユーザーが [OK] ボタンをクリックすると コントロールの TextBox コントロールからのデータは 対応する Label コントロールに割り当てられる ユーザーが [Cancel] ボタンをクリックした場合 Text の値は既定の文字列に設定される 次のボタンクリックイベントハンドラーコードを Form1 クラスに追加する Visual Basic Private Sub avaddressctrl_onbuttonclick(byval sender As Object, _ ByVal args As MyControls.MyControlEventArgs) If args.isok Then lblname.text = " 名前 :" + args.myname lbladdress.text = " 番地 :" + args.mystreetaddress lblcity.text = " 市区町村 :" + args.mycity lblstate.text = " 都道府県 :" + args.mystate lblzip.text = " 郵便番号 :" + args.myzip Else lblname.text = " 名前 :" lbladdress.text = " 番地 :" lblcity.text = " 市区町村 :" lblstate.text = " 都道府県 :" lblzip.text = " 郵便番号 :" End If -21-

22 Visual C# void avaddressctrl_onbuttonclick( object sender, MyControls.MyControl1.MyControlEventArgs args) if (args.isok) lblname.text = " 名前 :" + args.myname; lbladdress.text = " 番地 : + args.mystreetaddress; lblcity.text = " 市区町村 :" + args.mycity; lblstate.text = " 都道府県 :" + args.mystate; lblzip.text = " 郵便番号 :" + args.myzip; else lblname.text = " 名前 :; lbladdress.text = " 番地 :"; lblcity.text = " 市区町村 :"; lblstate.text = " 都道府県 :"; lblzip.text = " 郵便番号 :"; アプリケーションをビルドして実行する WPF 複合コントロールに任意のテキストを追加し [OK] をクリックする 其のテキストがラベルに表示される 此の時点で オプションボタンの処理用にコードは追加されて居ない コントロールの外観の変更 フォームの RadioButton コントロールを使用すると ユーザーは WPF 複合コントロールの前景と背景の色 及び 複数のフォントプロパティを変更出来る 背景色は ElementHost オブジェクトに依って公開される 残りのプロパティは コントロールのカスタムプロパティとして公開される フォーム上の各 RadioButton コントロールをダブルクリックして CheckedChanged イベントハンドラーを作成する CheckedChanged イベントハンドラーを次のコードで置き換える Visual Basic Private Sub radiobackgroungoriginal_checkedchanged(sender As System.Object, _ e As System.EventArgs) Handles radiobackgroungoriginal.checkedchanged wpfaddressctrl.mycontrol_background = initbackbrush Private Sub radiobackgrounglightgreen_checkedchanged(sender As System.Object, _ e As System.EventArgs) Handles radiobackgrounglightgreen.checkedchanged wpfaddressctrl.mycontrol_background = New SolidColorBrush(Colors.LightGreen) -22-

23 Private Sub radiobackgrounglightsalmon_checkedchanged(sender As System.Object, _ e As System.EventArgs) Handles radiobackgrounglightsalmon.checkedchanged wpfaddressctrl.mycontrol_background = New SolidColorBrush(Colors.LightSalmon) Private Sub radioforegroungoriginal_checkedchanged(sender As System.Object, _ e As System.EventArgs) Handles radioforegroungoriginal.checkedchanged wpfaddressctrl.mycontrol_foreground = initforebrush Private Sub radioforegroungred_checkedchanged(sender As System.Object, _ e As System.EventArgs) Handles radioforegroungred.checkedchanged wpfaddressctrl.mycontrol_foreground = New SolidColorBrush(Colors.Red) Private Sub radioforegroungyellow_checkedchanged(sender As System.Object, _ e As System.EventArgs) Handles radioforegroungyellow.checkedchanged wpfaddressctrl.mycontrol_foreground = New SolidColorBrush(Colors.Yellow) Private Sub radiofamilyoriginal_checkedchanged(sender As System.Object, _ e As System.EventArgs) Handles radiofamilyoriginal.checkedchanged wpfaddressctrl.mycontrol_fontfamily = initfontfamily Private Sub radiofamilytimes_checkedchanged(sender As System.Object, _ e As System.EventArgs) Handles radiofamilytimes.checkedchanged wpfaddressctrl.mycontrol_fontfamily = New FontFamily("Times New Roman") Private Sub radiofamilywingdings_checkedchanged(sender As System.Object, _ e As System.EventArgs) Handles radiofamilywingdings.checkedchanged wpfaddressctrl.mycontrol_fontfamily = New FontFamily("WingDings") Private Sub radiosizeoriginal_checkedchanged(sender As System.Object, _ e As System.EventArgs) Handles radiosizeoriginal.checkedchanged wpfaddressctrl.mycontrol_fontsize = initfontsize Private Sub radiosizeten_checkedchanged(sender As System.Object, _ e As System.EventArgs) Handles radiosizeten.checkedchanged wpfaddressctrl.mycontrol_fontsize = 10 Private Sub radiosizetwelve_checkedchanged(sender As System.Object, _ e As System.EventArgs) Handles radiosizetwelve.checkedchanged wpfaddressctrl.mycontrol_fontsize =

24 Private Sub radiostyleoriginal_checkedchanged(sender As System.Object, _ e As System.EventArgs) Handles radiostyleoriginal.checkedchanged wpfaddressctrl.mycontrol_fontstyle = initfontstyle Private Sub radiostyleitalic_checkedchanged(sender As System.Object, _ e As System.EventArgs) Handles radiostyleitalic.checkedchanged wpfaddressctrl.mycontrol_fontstyle = FontStyles.Italic Private Sub radioweightoriginal_checkedchanged(sender As System.Object, _ e As System.EventArgs) Handles radioweightoriginal.checkedchanged wpfaddressctrl.mycontrol_fontweight = initfontweight Private Sub radioweightbold_checkedchanged(sender As System.Object, _ e As System.EventArgs) Handles radioweightbold.checkedchanged wpfaddressctrl.mycontrol_fontweight = FontWeights.Bold Visual C# private void radiobackgroundoriginal_checkedchanged(object sender, EventArgs e) wpfaddressctrl.mycontrol_background = initbackbrush; private void radiobackgroundlightgreen_checkedchanged(object sender, EventArgs e) wpfaddressctrl.mycontrol_background = new SolidColorBrush(Colors.LightGreen); private void radiobackgroundlightsalmon_checkedchanged(object sender, EventArgs e) wpfaddressctrl.mycontrol_background = new SolidColorBrush(Colors.LightSalmon); private void radioforegroundoriginal_checkedchanged(object sender, EventArgs e) wpfaddressctrl.mycontrol_foreground = initforebrush; private void radioforegroundred_checkedchanged(object sender, EventArgs e) wpfaddressctrl.mycontrol_foreground = new System.Windows.Media.SolidColorBrush(Colors.Red); private void radioforegroundyellow_checkedchanged(object sender, EventArgs e) wpfaddressctrl.mycontrol_foreground = new System.Windows.Media.SolidColorBrush(Colors.Yellow); -24-

25 private void radiofamilyoriginal_checkedchanged(object sender, EventArgs e) wpfaddressctrl.mycontrol_fontfamily = initfontfamily; private void radiofamilytimes_checkedchanged(object sender, EventArgs e) wpfaddressctrl.mycontrol_fontfamily = new System.Windows.Media.FontFamily("Times New Roman"); private void radiofamilywingdings_checkedchanged(object sender, EventArgs e) wpfaddressctrl.mycontrol_fontfamily = new System.Windows.Media.FontFamily("WingDings"); private void radiosizeoriginal_checkedchanged(object sender, EventArgs e) wpfaddressctrl.mycontrol_fontsize = initfontsize; private void radiosizeten_checkedchanged(object sender, EventArgs e) wpfaddressctrl.mycontrol_fontsize = 10; private void radiosizetwelve_checkedchanged(object sender, EventArgs e) wpfaddressctrl.mycontrol_fontsize = 12; private void radiostyleoriginal_checkedchanged(object sender, EventArgs e) wpfaddressctrl.mycontrol_fontstyle = initfontstyle; private void radiostyleitalic_checkedchanged(object sender, EventArgs e) wpfaddressctrl.mycontrol_fontstyle = System.Windows.FontStyles.Italic; private void radioweightoriginal_checkedchanged(object sender, EventArgs e) wpfaddressctrl.mycontrol_fontweight = initfontweight; private void radioweightbold_checkedchanged(object sender, EventArgs e) wpfaddressctrl.mycontrol_fontweight = FontWeights.Bold; -25-

26 アプリケーションをビルドして実行する 別のオプションボタンをクリックして WPF 複合コントロール上の影響を確認する

グラフィックス 目次

グラフィックス 目次 WPF チュートリアル WPF での Windows フォーム複合コントロールのホスト Windows Presentation Foundation(WPF) は アプリケーションの作成に適した環境を提供する 但し Windows フォームのコードに多くの投資を行った場合は コードを最初から記述し直すよりも WPF アプリケーションのコードの少なくとも一部を再利用する方が効率的で有る 最も一般的なシナリオは

More information

Userコントロール

Userコントロール User コントロール 初めてのユーザーコントロールの作成 作成したクラスは他のプログラムで再利用出来る為 同じコードを何度も繰り返し作成する必要が無い コントロールも 複数のプロジェクトで再利用出来るクラスで有る 同じユーザーインターフェイスを何度も繰り返してデザインすると謂う経験は 恐らく誰でも有る 例えば 姓と名を入力する為の TextBox コントロールを追加した後で 両方を組み合わせてフルネームを作成するコードを追加する等の作業で有る

More information

グラフィックス 目次

グラフィックス 目次 WPF チュートリアル WPF デザイナーに依るサイズ変更可能なアプリケーションの作成 Grid コンテナーコントロールと共に GridSplitter コントロールを使用する事に依り 実行時にユーザーに依ってサイズを変更出来るウィンドウレイアウトを作成出来る 例えば 領域に分割されて居る UI を持つアプリケーションで ユーザーが分割線をドラッグする事に依り より多くの内容を見る必要が有る領域を大きくする事が出来る

More information

VB 資料 電脳梁山泊烏賊塾 音声認識 System.Speech の利用 System.Speech に依るディクテーション ( 音声を文字列化 ).NetFramework3.0 以上 (Visual Studio 2010 以降 ) では 標準で System.Speech が用意されて居るの

VB 資料 電脳梁山泊烏賊塾 音声認識 System.Speech の利用 System.Speech に依るディクテーション ( 音声を文字列化 ).NetFramework3.0 以上 (Visual Studio 2010 以降 ) では 標準で System.Speech が用意されて居るの 音声認識 System.Speech の利用 System.Speech に依るディクテーション ( 音声を文字列化 ).NetFramework3.0 以上 (Visual Studio 2010 以降 ) では 標準で System.Speech が用意されて居るので 此れを利用して音声認識を行うサンプルを紹介する 下記の様な Windows フォームアプリケーションを作成する エディタを起動すると

More information

グラフィックス 目次

グラフィックス 目次 WPF チュートリアル WPF の概要 此のチュートリアルでは 殆どの Windows Presentation Foundation(WPF) アプリケーションに共通の要素を含む WPF アプリケーションの開発の概要に付いて説明する 此の様な共通の要素には Extensible Application Markup Language(() マークアップ 分離コード アプリケーション定義 コントロール

More information

VB.NET解説

VB.NET解説 Visual Basic.NET 印刷編 目次 印刷の概要... 2 印刷の流れ... 2 標準の Windows フォーム印刷ジョブの作成... 3 実行時に於ける Windows フォーム印刷オプションの変更... 3 Windows フォームに於ける接続されたプリンタの選択... 4 Windows フォームでのグラフィックスの印刷... 5 Windows フォームでのテキストの印刷...

More information

グラフィックス

グラフィックス グラフィックス PictureBox の Image プロパティに関する良く有る勘違い PictureBox に画像を表示する方法と仕て PictureBox の Image プロパティを使う方法と Graphics の DrawImage メソッドを使う方法が有るが 此の 2 つの方法を混同し 正しく理解して居ない事が多い様で有る 例えば 下記に列挙する様な状況が 此れに該当する 1.PictureBox

More information

Prog2_12th

Prog2_12th 2018 年 12 月 13 日 ( 木 ) 実施クラスの継承オブジェクト指向プログラミングの基本的な属性として, 親クラスのメンバを再利用, 拡張, または変更する子クラスを定義することが出来る メンバの再利用を継承と呼び, 継承元となるクラスを基底クラスと呼ぶ また, 基底クラスのメンバを継承するクラスを, 派生クラスと呼ぶ なお, メンバの中でコンストラクタは継承されない C# 言語では,Java

More information

ICONファイルフォーマット

ICONファイルフォーマット グラフィックス 画像フォーマットエンコーダパラメータ 様々なフォーマットで画像を保存 Bitmap クラスを用いる事でビットマップ JPEG GIF PNG 等様々なフォーマットの画像を読み込み操作する事が出来る 更に Bitmap クラスや Graphics コンテナを用いて描画処理等を施したイメージをファイルに保存する事も出来る 此の時 読み込めるフォーマット同様に保存するフォーマットを選択する事が出来る

More information

ファイル操作

ファイル操作 ファイル操作 TextFieldParser オブジェクト ストリームの読込と書込 Microsoft.VisualBasic.FileIO 名前空間の TextFieldParser オブジェクトは 構造化テキストファイルの解析に使用するメソッドとプロパティを備えたオブジェクトで有る テキストファイルを TextFieldParser で解析するのは テキストファイルを反復処理するのと同じで有り

More information

DEMO1 まずはやってみよう アクティビティをダブルクリック 作成 - プロジェクト C# => Workflow CodeActivity をぽとぺ シーケンシャルと ステートマシン それぞれのコ ンソールアプリ あとライブラリがある びっくりマークは足りていないあかし プロパティをみると判別で

DEMO1 まずはやってみよう アクティビティをダブルクリック 作成 - プロジェクト C# => Workflow CodeActivity をぽとぺ シーケンシャルと ステートマシン それぞれのコ ンソールアプリ あとライブラリがある びっくりマークは足りていないあかし プロパティをみると判別で DEMO1 まずはやってみよう アクティビティをダブルクリック 作成 - プロジェクト C# => Workflow CodeActivity をぽとぺ シーケンシャルと ステートマシン それぞれのコ ンソールアプリ あとライブラリがある びっくりマークは足りていないあかし プロパティをみると判別できます こんなコードを追加 string str = Console.ReadLine(); int

More information

Sparkline for WPF

Sparkline for WPF 2018.04.11 更新 グレープシティ株式会社 目次 Sparkline for WPF の概要 2 WPF Edition のヘルプ 2 主要な機能 2 クイックスタート :Sparkline for WPF 2-4 機能 4 軸 4 日付軸 4-5 データ連結 5 スパークラインのタイプ 5-7 スパークラインタイプの設定 7 マーカー 7-9 マーカーの色のカスタマイズ 9-10 タスク別ヘルプ

More information

データアダプタ概要

データアダプタ概要 データベース TableAdapter クエリを実行する方法 TableAdapter クエリは アプリケーションがデータベースに対して実行出来る SQL ステートメントやストアドプロシージャで TableAdapter で型指定されたメソッドと仕て公開される TableAdapter クエリは 所有るオブジェクトのメソッドと同様に 関連付けられたメソッドを呼び出す事に依り実行出来る TableAdapter

More information

グラフィックス 目次

グラフィックス 目次 WPF チュートリアル Microsoft Expression Blend を使用してボタンを作成する 此のチュートリアルでは WPF のカスタマイズされたボタンを Microsoft Expression Blend を使用して作成する手順に付いて説明する Microsoft Expression Blend の具体的な動作は Extensible Application Markup Language(XAML)

More information

プラグイン

プラグイン プラグイン プラグイン詳細 2 ~ プラグイン機能を持つテキストエディタの作成 ~ はじめに Adobe Photoshop や Becky! Internet Mail 等のアプリケーションでは プラグイン ( 又は アドイン エクステンション 等 ) と呼ばれるプログラムをインストールする事に依り 機能を拡張する事が出来る 此の記事では此の様なプラグイン機能を持ったアプリケーションの作り方を プラグイン対応のテキストエディタを作成する事に依り

More information

ファイル監視

ファイル監視 ファイル操作 ファイルやディレクトリの監視 FileSystemWatcher クラス.NET Framework のクラスライブラリには ファイルやディレクトリの作成 変更 削除を監視する為の FileSystemWatcher クラスが System.IO 名前空間に用意されて居る ( 但し Windows 98/Me では利用出来ない ) 此れを利用すると 特定のディレクトリにファイルが作成された

More information

Visual Studio Do-It-Yourself 第 9 回ユーザーコントロール 第 6 回のリソースから第 8 回のテンプレートで さまざまな方法でコントロールをカスタマズできるこ とを学びました 今回のテーマであるユーザーコントロールは 既存の一つのコントロールをカスタマ ズするのではな

Visual Studio Do-It-Yourself 第 9 回ユーザーコントロール 第 6 回のリソースから第 8 回のテンプレートで さまざまな方法でコントロールをカスタマズできるこ とを学びました 今回のテーマであるユーザーコントロールは 既存の一つのコントロールをカスタマ ズするのではな Visual Studio Do-It-Yourself シリーズ 第 9 回ユーザーコントロール -1- Visual Studio Do-It-Yourself 第 9 回ユーザーコントロール 第 6 回のリソースから第 8 回のテンプレートで さまざまな方法でコントロールをカスタマズできるこ とを学びました 今回のテーマであるユーザーコントロールは 既存の一つのコントロールをカスタマ ズするのではなく

More information

LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略   

LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略       - LogisticaTRUCKServer-Ⅱ(SQLServer 版 ) 距離計算サーハ API.NET DLL WindowsForm サンフ ルフ ロク ラム - 1 - LogisticaTRUCKServer-Ⅱ 距離計算サーハ.NET DLL WindowsForm VisualBasic での利用方法 LogisticaTRUCKServer-Ⅱ 距離計算.NET DLLのサンプルプログラムの参照サンフ

More information

NotifyIconコントロール

NotifyIconコントロール NotifyIcon コントロール システムトレイ ( タスクトレイ ) にアイコンを表示する.NET Framework 2.0 以降の場合は 後述の 2 を観て欲しい Outlook や MSN Messenger 等の様に Windows アプリケーションではシステムトレイ ( タスクトレイ ステータス領域等とも呼ばれる ) にアイコンを表示して アプリケーションの状態を示したり アプリケーションのフォームを表示したりする為のショートカットとして利用する事が出来る.NET

More information

プロセス間通信

プロセス間通信 プロセス間通信 プロセス間通信 (SendMessage) プロセス間通信とは 同一コンピューター上で起動して居るアプリケーション間でデータを受け渡し度い事は時々有る Framework には リモート処理 と謂う方法でデータの受け渡しを行なう方法が有る 此処では 此の方法では無く 従来の方法の API を使用したプロセス間通信を紹介する 此の方法は 送信側は API の SendMessage で送り

More information

XAML Do-It-Yourself 第 3 回ベントとトリガー XML Do-It-Yourself 第 3 回目は ベント処理とトリガーについて学習します Windows フォームゕプリケーションでは たとえば ボタンが押された というベントに対応する処理 ( ベントハンドラー ) を記述する

XAML Do-It-Yourself 第 3 回ベントとトリガー XML Do-It-Yourself 第 3 回目は ベント処理とトリガーについて学習します Windows フォームゕプリケーションでは たとえば ボタンが押された というベントに対応する処理 ( ベントハンドラー ) を記述する XAML Do-It-Yourself シリーズ 第 3 回ベントとトリガー -1- XAML Do-It-Yourself 第 3 回ベントとトリガー XML Do-It-Yourself 第 3 回目は ベント処理とトリガーについて学習します Windows フォームゕプリケーションでは たとえば ボタンが押された というベントに対応する処理 ( ベントハンドラー ) を記述することで ゕプリケーションのユーザーンターフェスを実現していました

More information

Prog2_15th

Prog2_15th 2019 年 7 月 25 日 ( 木 ) 実施メニューメニューバーとコンテクストメニュー Visual C# では, メニューはコントロールの一つとして扱われ, フォームアプリケーションの上部に配置されるメニューバーと, コントロール上でマウスを右クリックすると表示されるコンテクストメニューとに対応している これ等は選択するとメニューアイテムのリストが表示されるプルダウンメニューと呼ばれる形式に従う

More information

ルーレットプログラム

ルーレットプログラム ルーレットプログラム VB 2005 4 プログラムの概要 カジノの代表的なゲーム ルーレット を作成する 先ず GO! ボタンをクリックすると ルーレット盤上をボールが回転し 一定時間経過すると ボールが止まり 出目を表示するプログラムを作成する 出目を 1~16 大小 偶数奇数の内から予想して 予め設定した持ち点の範囲内で賭け点を決め 賭け点と出目に依り 1 点賭けの場合は 16 倍 其他は 2

More information

Visual Basic 資料 電脳梁山泊烏賊塾 コレクション初期化子 コレクション初期化子 初めに.NET 版の Visual Basic では 其れ迄の Visual Basic 6.0 とは異なり 下記の例の様に変数宣言の構文に 初期値を代入する式が書ける様に成った 其の際 1 の様に単一の値

Visual Basic 資料 電脳梁山泊烏賊塾 コレクション初期化子 コレクション初期化子 初めに.NET 版の Visual Basic では 其れ迄の Visual Basic 6.0 とは異なり 下記の例の様に変数宣言の構文に 初期値を代入する式が書ける様に成った 其の際 1 の様に単一の値 コレクション初期化子 コレクション初期化子 初めに.NET 版の Visual Basic では 其れ迄の Visual Basic 6.0 とは異なり 下記の例の様に変数宣言の構文に 初期値を代入する式が書ける様に成った 其の際 1 の様に単一の値 ( 此処では 10) を代入する丈でなく 2 の配列変数の宣言の様に ブレース { } の中にカンマ区切りで初期値のリストを記述し 配列の各要素に初期値を代入出来る様に成った

More information

ウィンドウ操作 応用

ウィンドウ操作 応用 Win32API 関数 ウィンドウ操作 ウィンドウ名でトップレベルウィンドウ ( 親を持たないウィンドウ ) のハンドルを取得 メモ帳や電卓等のウィンドウ名でトップレベルウィンドウ ( 親を持たないウィンドウ ) のハンドルを取得する方法を 下記に示す Visual Basic Imports System.Runtime.InteropServices Public Class WindowFromWindowName

More information

SharpShooter Reports.WPF 基本的な使い方 Last modified on: November 15, 2012 本ドキュメント内のスクリーンショットは英語表記ですが SharpShooter Reports JP( 日本語版 ) では日本語で表示されます

SharpShooter Reports.WPF 基本的な使い方 Last modified on: November 15, 2012 本ドキュメント内のスクリーンショットは英語表記ですが SharpShooter Reports JP( 日本語版 ) では日本語で表示されます SharpShooter Reports.WPF 基本的な使い方 Last modified on: November 15, 2012 本ドキュメント内のスクリーンショットは英語表記ですが SharpShooter Reports JP( 日本語版 ) では日本語で表示されます 目次 はじめに... 3 システムの必要条件... 3 ライセンス認証... 3 アクティベーション... 5 開発...

More information

ブロック パニック

ブロック パニック ブロックパニック VB 2005 9 プログラムの概要 壁が迫り来る不思議な空間のオリジナルゲーム ブロックパニック を作成する スタートボタンをクリックし上下左右の矢印キーで白猿を移動させる スペースキーを押すと 向いて居る方向の壁が後退する 左右の壁が合わさると ゲームは終了する 一般的に 実用プログラムに比較するとゲームプログラムは 高度なテクニックを要求される事が多い 此処では ゲームプログラムを作成する事に依り

More information

平成 30 年度 プログラミング研修講座 岩手県立総合教育センター

平成 30 年度 プログラミング研修講座 岩手県立総合教育センター 平成 30 年度 プログラミング研修講座 岩手県立総合教育センター 目次第 1 章プログラミングについて 1 ソフトウェアの働き 1 2 プログラミング言語 1 3 主なプログラミング言語の歴史 2 第 2 章 Visual Basic について 1 Visual Basic とは 3 2.NET Framework の環境 3 3 Visual Basic と.NET Framework の関係

More information

ListViewコントロール

ListViewコントロール ListView コントロール ListView コントロールへ項目を追加 本稿では.NET Framework の標準コントロールで有る ListView コントロール (System.Windows.Forms 名前空間 ) を活用する為に ListView コントロールにデータを追加する方法を紹介する ListView コントロールは データ項目をアイコン表示や詳細表示等に依り一覧表示する為の物で

More information

目次 はじめに... 3 システムの必要条件... 3 サンプルアプリケーションの作成... 3 手順 手順 手順 手順 手順 手順 終わりに... 23

目次 はじめに... 3 システムの必要条件... 3 サンプルアプリケーションの作成... 3 手順 手順 手順 手順 手順 手順 終わりに... 23 SharpShooter Reports.Silverlight 基本的な使い方 Last modified on: August 16, 2012 本ドキュメント内のスクリーンショットは英語表記ですが SharpShooter Reports JP( 日本語版 ) では日本語で表示されます 目次 はじめに... 3 システムの必要条件... 3 サンプルアプリケーションの作成... 3 手順 1...

More information

LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略   

LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略       - LogisticaTRUCKServer-Ⅱ(SQLServer 版 ) 距離計算サーハ API.NET DLL WebForms ASP.NET サンフ ルフ ロク ラム - 1 - LogisticaTRUCKServer-Ⅱ 距離計算サーハ.NET DLL WebForm ASP.NET VisualBasic での利用方法 LogisticaTRUCKServer-Ⅱ 距離計算.NET

More information

Prog2_2nd

Prog2_2nd 2018 年 10 月 4 日 ( 木 ) 実施 C# プログラムの基礎 基本構造 1) クラス Visual C# のプログラムの基本単位をクラスと呼ぶ Windows フォームアプリケーションを作 成する際, プロジェクトを作成すると生成されるファイルのうち,Form1.cs を例にとれば, その クラス名は Form1 である クラスは class キーワードを用いて宣言する Form1.cs

More information

Prog2_4th

Prog2_4th 2018 年 10 月 18 日 ( 木 ) 実施 イベントハンドライベントハンドラとは Windows フォーム上のコントロールに対して クリックされた とか 文字列を変更された とかいったイベントを行った際に, それを受け取って処理を行うメソッドをイベントハンドラと呼ぶ 本日の課題第 3 回の授業では, フォームデザイナーで該当するコントロールをダブルクリックして, コードエディタに表示されたイベントハンドラの処理を記述したが,

More information

正規表現応用

正規表現応用 正規表現 正規表現を使って文字列が或る形式と一致するか調べる 指定された正規表現のパターンと一致する対象が入力文字列内で見付かるか何うかを調べるには Regex クラスの IsMatch メソッドを使用する 此処では IsMatch メソッドを使った例を幾つか紹介する 猶 正規表現のパターンと一致する個所を探し 見付かれば 其の箇所を抽出する方法は 正規表現を使って文字列を検索し 抽出する で紹介して居る

More information

C#の基本

C#の基本 C# の基本 ~ 開発環境の使い方 ~ C# とは プログラミング言語のひとつであり C C++ Java 等に並ぶ代表的な言語の一つである 容易に GUI( グラフィックやボタンとの連携ができる ) プログラミングが可能である メモリ管理等の煩雑な操作が必要なく 比較的初心者向きの言語である C# の利点 C C++ に比べて メモリ管理が必要ない GUIが作りやすい Javaに比べて コードの制限が少ない

More information

ハッシュテーブル

ハッシュテーブル ハッシュテーブル ハッシュテーブル ( 連想配列 ) を使う ハッシュテーブルとは キー (key) と値 (value) のペアを保持して居るコレクションで有る 通常の配列がインデックス番号に依り各値 ( 各要素 ) にアクセス出来るのに比べて ハッシュテーブルでは インデックス番号の代わりにキーを用いて 其の各値にアクセスする事が出来る キーと 其のキーから連想される ( 対応付けられて居る )

More information

VB実用Ⅲ⑩ フリーデータベースⅡ

VB実用Ⅲ⑩ フリーデータベースⅡ MySQL の利用 MySQL の ODBC(MyODBC) テキストでは MySQL Connector/ODBC(mysql-connector-odbc-3.51.14-win32.msi) をインストールした場合に付いて解説して居るが 此処では MyODBC(MyODBC-3.51.10-x86-win-32bit.msi) をインストールし myodbc-3.51.06-conv_ujis.zip

More information

ファイル操作-インターネットキャッシュ

ファイル操作-インターネットキャッシュ ファイル操作 インターネット一時ファイルの保存場所 インターネットキャッシュ インターネット一時ファイルの保存場所は Internet Explorer の場合 下記の手順で確認する事が出来る 1.[ ツール ] [ インターネットオプション ] でインターネットオプション画面のダイアログを表示させる 2.[ 全般 ] タブで [ インターネット一時ファイル ] グループの [ 設定 ] をクリックすると

More information

目次 はじめに... 3 システムの必要条件... 4 ライセンス認証... 4 アクティベーション... 6 開発... 7 手順 1. アプリケーションの作成... 7 手順 2. データソースの作成と代入... 7 手順 3. テンプレートの作成 手順 4. レポートビューアの追加

目次 はじめに... 3 システムの必要条件... 4 ライセンス認証... 4 アクティベーション... 6 開発... 7 手順 1. アプリケーションの作成... 7 手順 2. データソースの作成と代入... 7 手順 3. テンプレートの作成 手順 4. レポートビューアの追加 SharpShooter Reports.Win 基本的な使い方 Last modified on: November 15, 2012 本ドキュメント内のスクリーンショットは英語表記ですが SharpShooter Reports JP( 日本語版 ) では日本語で表示されま す 目次 はじめに... 3 システムの必要条件... 4 ライセンス認証... 4 アクティベーション... 6 開発...

More information

構造体

構造体 構造体 Byte 配列 構造体とコピーする方法 構造体とバイト配列の変換を行うには System.Runtime.InteropServices 名前空間をインポートして置くと便利で有る Imports System.Runtime.InteropServices using System.Runtime.InteropServices; 下記の 3 種類の構造体にバイト配列の値を格納した場合に付いて検証する

More information

エクセル詳細 アドイン

エクセル詳細 アドイン Microsoft Excel 詳細 アドイン Excel アドインの作成 Excel アドインを作成するには ブックを作成し コード ユーザー設定ツールバー 及び メニュー項目を追加して Excel アドインファイルとして保存する 1. 新しいブックを作成してコードを追加し ユーザー設定ツールバー 又は メニューバーを作成する 2.[ ファイル ] メニューの [ プロパティ ] をクリックする

More information

Chart3D for WPF/Silverlight

Chart3D for WPF/Silverlight 2018.04.10 更新 グレープシティ株式会社 目次 製品の概要 2 ComponentOne for WPF/Silverlight のヘルプ 2 主な特長 3 クイックスタート 4 手順 1: プロジェクトへのコントロールの追加 4-5 手順 2: データの追加 5-6 手順 3: グラフの外観の変更 6-7 手順 4: 凡例の追加 7 手順 5: プロジェクトの実行 7 XAML クイックリファレンス

More information

Microsoft Word - VB.doc

Microsoft Word - VB.doc 第 1 章 初めてのプログラミング 本章では カウントアップというボタンを押すと表示されている値が1ずつ増加し カウントダウンというボタンを押すと表示されている値が1ずつ減少する簡単な機能のプログラムを作り これを通して Visual Basic.NET によるプログラム開発の概要を学んでいきます 1.1 起動とプロジェクトの新規作成 Visual Studio.NET の起動とプロジェクトの新規作成の方法を

More information

Microsoft Word -

Microsoft Word - Visual Basic 2005 Express Edition 起動とプロジェクトの新規作成方法 1.1 起動とプロジェクトの新規作成 Visual Basic の起動とプロジェクトの新規作成の方法を Visual Basic 2005 Express Edition で説明します なお バージョンやエディションが異なる場合は 操作方法が若干違います 本節の起動とプロジェクトの新規作成の部分については

More information

VFD256 サンプルプログラム

VFD256 サンプルプログラム VFD256 サンプルプログラム 目次 1 制御プログラム... 1 2.Net 用コントロール Vfd256 の使い方... 11 2.1 表示文字列の設定... 11 2.2 VFD256 書込み前のクリア処理... 11 2.3 書き出しモード... 11 2.4 表示モード... 12 2.5 表示... 13 2.6 クリア... 13 2.7 接続方法 ボーレートの設定... 13 2.8

More information

VB実用⑦ エクセル操作Ⅰ

VB実用⑦ エクセル操作Ⅰ VB でエクセル操作 Ⅰ VB 2005 7 プログラムの概要 事務処理に於いて Microsoft 社のスプレッドシートソフトで有るエクセルは データベースソフトで有るアクセスと共に 業界標準 (De Facto Standard) で有ると謂う事が出来る 此処では 其のエクセルを Visual Basic から操作する方法を 重点的に学ぶ 今回は Visual Basic でエクセルを利用する基本と成るオブジェクト生成と

More information

1.dll の配置場所配布時はプログラムの実行フォルダーへ配置 2. 開発環境での使用 プロジェクトのプロパティーで [USBPIO.dll] を参照追加してください 開発環境 dll ファイルの場所 VB.Net Express Edition 境プロジェクトのフォルダ \bin\release VB.Netebugビルドの場合プロジェクトのフォルダ \bin\debug VB.Net Releaseビルドの場合プロジェクトのフォルダ

More information

WPF アプリケーションの 多言語切替

WPF アプリケーションの 多言語切替 WPF アプリケーションの 多言語切替 YK S o f t w a r e 2015 年 6 月 2 日 @twyujiro15 プロフィール 加藤裕次郎 本職は製造業の開発業務 - 2009 年 4 月に入社 1982.03.03 生まれ ( うお座 ) 左利き ( お箸は右 ) twitter : @twyujiro15 プログラミング経験 Excel VBA MATLAB MATX C VC++

More information

WPFの初歩の初歩

WPFの初歩の初歩 WPF の初歩の初歩 うつせみ ( 虚蝉 ) 本日のお品書き XAML について XAML って? (Extensible Application Markup Language) XML をベースとしたマークアップ言語 デザインとロジックが分離デザイナとコーダーの分業が可能に XAML を見てみよう どちらも同じものです (Button) XAML C#

More information

WPF アプリケーションの 多言語切替

WPF アプリケーションの 多言語切替 パスワード認証 YK S o f t w a r e 2015 年 8 月 3 日 @twyujiro15 プロフィール 加藤裕次郎 本職は製造業の開発業務 - 2009 年 4 月に入社 1982.03.03 生まれ ( うお座 ) 左利き ( お箸は右 ) twitter : @twyujiro15 プログラミング経験 Excel VBA MATLAB MATX C VC++ (Windows

More information

ファイル操作-バイナリファイル

ファイル操作-バイナリファイル ファイル操作 バイナリ ファイルを読み書きする バイナリファイル ( 即ちテキストファイル以外のファイル ) を読み書きするには FileStream クラス (System.IO 名前空間 ) を利用する FileStream クラスはファイル用のストリームをサポートするクラスで有り Stream クラス (System.IO 名前空間 ) の派生クラスの 1 つで有る 基本的には コンストラクタで指定したファイルのストリームに対して

More information

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~ .NET プログラマー早期育成ドリル VB 編 付録文法早見表 本資料は UUM01W:.NET プログラマー早期育成ドリル VB 編コードリーディング もしくは UUM02W:.NET プログラマー早期育成ドリル VB 編コードライティング を ご購入頂いた方にのみ提供される資料です 資料内容の転載はご遠慮下さい VB プログラミング文法早見表 < 基本文法 > 名前空間の定義 Namespace

More information

GUIプログラムⅣ

GUIプログラムⅣ GUI プログラム Ⅳ 画像指定ウィンドウの生成 ファイル名 :awtimage.java import java.awt.*; import java.awt.event.*; public class awtimage extends Frame // コンポーネントクラスの宣言 Button btnbrowse; Label lblcaption7; TextField txtimage; //

More information

ブロック崩し風テニス

ブロック崩し風テニス ぱっくんフィッシング VB 2005 13 プログラムの概要 パーティゲームとして良く知られた釣りゲームです マウスで釣り糸を操作して 開閉する魚の口に餌を垂らし 魚が餌を咥えると 釣り上げ 籠の中に入れます 直ぐに口を開けて 海に逃れる魚 中々餌を離さず 籠に入らない魚と 色々なバリエーションが楽しめます 一般的に 実用プログラムに比較するとゲームプログラムは 高度なテクニックを要求される事が多い

More information

Ver.1.1

Ver.1.1 Ver.1.1 B3MLib ライブラリマニュアル / 使用環境 使用環境 Windows XP(SP2 以降 )/Windows Vista/Windows 7 各 32 ビット 64 ビット版 B3MLib.DLL と Extensions.DLL(B3M ライブラリセット ).NET Framework 2.0 以上 Windows XP サービスパック 2 以降 Windows Vista

More information

DAOの利用

DAOの利用 DAO VB2005 で DAO を使用して Excel のデータを取得 Visual Basic 6.0 Dim DB As DAO.Database Dim RS As DAO.Recordset Dim xlfilename As String Dim xlsheetname As String xlfilename = Form1.StatusBar1.Panels(12) & Dir(Form1.StatusBar1.Panels(12)

More information

グラフィックス 目次

グラフィックス 目次 WPF チュートリアル WPF デザイナでの簡単な WPF アプリケーションの作成 此のチュートリアルでは WPF デザイナで簡単な WPF(Windows Presentation Foundation) アプリケーションを作成する方法を示す 此のチュートリアルでは下記のタスクを行う プロジェクトを作成する レイアウトを作成する レイアウトにコントロールを追加する レイアウト関連のプロパティを設定する

More information

Android から Windows Phone へ 10 の基本タスク 英語版公開日 : 2011 年 10 月 5 日 ( 水 ) 10:09:24 AM Windows Phone Interoperability サイトは さまざまなスマートフォンプラットフォーム向けにアプリケーションを開発

Android から Windows Phone へ 10 の基本タスク 英語版公開日 : 2011 年 10 月 5 日 ( 水 ) 10:09:24 AM Windows Phone Interoperability サイトは さまざまなスマートフォンプラットフォーム向けにアプリケーションを開発 英語版公開日 : 2011 年 10 月 5 日 ( 水 ) 10:09:24 AM Windows Phone Interoperability サイトは さまざまなスマートフォンプラットフォーム向けにアプリケーションを開発してきた皆様が Windows Phone プラットフォームでの開発をスムーズに始めることができるようにサポートすることを目的に運営しています この文書は 原文 : Android

More information

XAML Do-It-Yourself シリーズ 第 1 回 XAML 概要 -1-

XAML Do-It-Yourself シリーズ 第 1 回 XAML 概要 -1- XAML Do-It-Yourself シリーズ 第 1 回 XAML 概要 -1- XAML Do-It-Yourself 第 1 回 XAML 概要 はじめに - XAML Do-It-Yourself について 本 XAML Do-It-Yourself シリーズでは 13 回にわたって XAML (Extensible Application Markup Language) の基礎を学習していきます

More information

アプリケーション

アプリケーション アプリケーション開発 お絵かきソフト 目次 お絵かきソフトを作ってみよう... 3 絵を書く枠と場所表示を作る... 3 マウスの動きを見てみよう... 4 絵を書く準備をします... 5 絵を書くとはどういうことか... 5 では線画を描いてみよう... 6 マウスをドラッグしたときだけ線を引くように改造する... 8 お絵かきソフトを作ってみよう 今回は お絵かきソフトを作ってみましょう マウスを動かして線画を書いてみましょう

More information

スレッド操作 タイマー

スレッド操作 タイマー スレッド操作 タイマー System.Windows.Forms.Timer Windows フォームの Timer は 一定の間隔でイベントを発生させるコンポーネントで有る 此のコンポーネントは Windows フォーム環境で使用する サーバー環境に適したタイマが必要な場合は 後述の System.Timers.Timer を使用する イベントの発生する間隔は ミリ秒単位で Interval プロパティで設定しする

More information

MISAO with WPF

MISAO with WPF System.AddIn を利用した アプリケーション拡張 - アドインの開発 - JZ5( 松江祐輔 )@ わんくま http://katamari.jp http://katamari.wankuma.com 2008/9/13 What s System.AddIn System.AddIn 名前空間 Visual Studio Orcus から利用可能 アプリケーションに拡張機能を提 供 なんかいろいろ特長が?

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 1 01 Visual C# 2010 を使ってみよう BMI 計算プログラム 1 Visual Studio 2010 の起動 1 2 画面左下 タスクバーの左端にある スタートボタン をクリック 表示されたメニューにある すべてのプログラム をクリック 2 1 3 4 メニューから Microsoft Visual Studio 2010 のフォルダを探して これをクリック フォルダが展開されて

More information

DockControl for WPF/Silverlight

DockControl for WPF/Silverlight 2018.04.11 更新 グレープシティ株式会社 目次 製品の概要 2 ComponentOne for WPF/Silverlight のヘルプ 2 主な特長 3 クイックスタート 4 手順 1: アプリケーションの作成 4-5 手順 2:C1DockTabItems を含む C1DockTabControl の追加 5-6 手順 3: アプリケーションの実行 6-7 クイックリファレンス 8-9

More information

Carousel for WPF/Silverlight

Carousel for WPF/Silverlight 2018.04.10 更新 グレープシティ株式会社 目次 製品の概要 2 ComponentOne for / のヘルプ 2 主な特長 3 クイックスタート 4 手順 1: アプリケーションの作成 4-5 手順 2: アプリケーションへのコンテンツの追加 5-8 手順 3: アプリケーションの実行 8 Carousel for / の使い方 9 C1CarouselPanel の使用 9-10 カルーセルのカスタマイズ

More information

Prog2_6th

Prog2_6th 2016 年 11 月 10 日 ( 木 ) 実施 インテントインテントとは Android アプリは複数のアクティビティを持つことが出来, また, アクティビティ以外の要素も持つので, 複数のアクティビティ間, アクティビティとアクティビティ以外の要素との間といったオブジェクト間を結び付ける仕組みが必要となる その役割を担うのがインテントで, 複数のアプリ間やアプリとシステムとの間もインテントで結び付けることが出来る

More information

WebReportCafe

WebReportCafe 1 1. 概要 WebReportCafe for.net では 生成した PDF に VeriSign の不可視電子署名を付加することができます 電子署名を付加する事により 文書の作成者を証明することができ 作成された PDF を改竄することが不可能になります この文書では WebReportCafe for.net で電子署名を付加するために必要な ドキュメントサイン用 Digital ID の取得と必須ファイル作成

More information

構造体

構造体 構造体 構造体を取り扱うには System.Runtime.InteropServices 名前空間をインポートして置くと便利で有る Imports System.Runtime.InteropServices using System.Runtime.InteropServices; C# ユーザー定義型 (Type) と構造体 (Structure) 6.0 のユーザー定義型 (Type) を.NET

More information

64bit環境で32bitコンポーネントの利用

64bit環境で32bitコンポーネントの利用 64bit 環境 64bit 環境で 32bit コンポーネントの利用 Windows 7 や 8 の出現で 愈々 64bit 環境も普及し始めて来た 64bit 環境に於いては 64bit 用に最適化された 64bit コンポーネントを使用するのが本筋で有ろうが 64bit 環境に於いても 32bit コンポーネントを使用し度い場合が有る 過去の遺物 ( レガシ ) と仕て切り捨てるのではなく 良い物は良い物と仕て有効利用すると謂う観点から

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 1 02 グラフゖックで簡単な図形を描く図形描画プログラム 1 今回作成するゕプリケーションの概要 ボタンをクリックすると図形を描くプログラム 行われる動作 [1] ボタンをクリック [2] そのボタンに対する図形を描く これを使用者とコンピュータの関係で描くと [ 使用者 コンピュータ ] ボタンをクリック [ 使用者 コンピュータ ] 図形を描画して見せる 使用者がコンピュータにすること ボタンをクリック

More information

TOEIC

TOEIC TOEIC 1 1 3 1.1.............................................. 3 1.2 C#........................................... 3 2 Visual Studio.NET Windows 5 2.1....................................... 5 2.2..........................................

More information

Visual Studio Do-It-Yourself シリーズ 第 1 回 Windows ゕプリケーション開発の概要 -1-

Visual Studio Do-It-Yourself シリーズ 第 1 回 Windows ゕプリケーション開発の概要 -1- Visual Studio Do-It-Yourself シリーズ 第 1 回 Windows ゕプリケーション開発の概要 -1- Visual Studio Do-It-Yourself 第 1 回 Windows ゕプリケーション開発の概要 はじめに - Visual Studio Do-It-Yourself について 本 Visual Studio Do-It-Yourself シリーズでは

More information

インベーダープログラム

インベーダープログラム インベーダーゲーム VB 2005 5 プログラムの概要 テレビゲームの流行の魁と成る懐かしのゲーム インベーダー を作成する 先ず FIGHT!! ボタンをクリックすると インベーダーが左右に移動し乍ら 降下して来るので 自機を左右のカーソルキーで移動させ スペースキーでミサイルを発射する インベーダーが 最終ライン迄 降下して 侵略される前に 総てのインベーダーを撃墜しなければ ゲームは終了する

More information

グラフィックトレーニング 概要.NET のグラフィック描画は どんなことができるのでしょうか? グラフィックオブジェクトやグラフィック環境 概念を理解するためには クラスを使って馴れることが近道です 本 書に記載されているコードをカットアンドペーストして 一つ一つの機能を体験してください 前提 グラ

グラフィックトレーニング 概要.NET のグラフィック描画は どんなことができるのでしょうか? グラフィックオブジェクトやグラフィック環境 概念を理解するためには クラスを使って馴れることが近道です 本 書に記載されているコードをカットアンドペーストして 一つ一つの機能を体験してください 前提 グラ C# & VB 1 グラフィックトレーニング 概要.NET のグラフィック描画は どんなことができるのでしょうか? グラフィックオブジェクトやグラフィック環境 概念を理解するためには クラスを使って馴れることが近道です 本 書に記載されているコードをカットアンドペーストして 一つ一つの機能を体験してください 前提 グラフィックを行うためには Visual Studio の基本操作や C# または VB

More information

Microsoft Excel操作

Microsoft Excel操作 Microsoft Excel 操作 Excel ファイルにアクセス リフレクションを利用したレイトバインディングで Excel ファイルを操作 Visual Basic なら CreatObject 関数を使用して 暗黙の遅延バインディングを利用する事に依り 簡単にに実現出来る Excel の操作も C# で実現するには 少し面倒臭い事に成る 事前バインディングでも実装する事も出来るが 事前バインディングだと

More information

Javaプログラムの実行手順

Javaプログラムの実行手順 戻り値のあるメソッド メソッドには 処理に使用する値を引数として渡すことができました 呼び出し 側からメソッドに値を渡すだけでなく 逆にメソッドで処理を行った結果の値を 呼び出し側で受け取ることもできます メソッドから戻してもらう値のことを もどりち戻り値といいます ( 図 5-4) 図 5-4. 戻り値を返すメソッドのイメージ 戻り値を受け取ることによって ある計算を行った結果や 処理に成功したか失

More information

Prog2_10th

Prog2_10th 2017 年 12 月 7 日 ( 木 ) 実施 効果音の付加 SoundPool とは Android には音を処理するクラスが複数用意されているが, その中で SoundPool は, 予め音のデータをメモリ上に読み込んで再生するため, 長い音楽よりも短い音を扱うのに適している また,SoundPool では遅延が無いので, 効果音を付加したい場面で用いられる 授業の準備 1)Android Studio

More information

Prog2_10th

Prog2_10th 2016 年 12 月 8 日 ( 木 ) 実施 効果音の付加 SoundPool とは Android には音を処理するクラスが複数用意されているが, その中で SoundPool は, 予め音のデータをメモリ上に読み込んで再生するため, 長い音楽よりも短い音を扱うのに適している また,SoundPool では遅延が無いので, 効果音を付加したい場面で用いられる 授業の準備 1)Android Studio

More information

HOW DO I WebBrowser コントロールで HTML5 を 使用するには ここでは以下の手順で説明します Video 要素を使用する Silverlight と JavaScript の間でやり取りする Canvas 要素を使用する Video 要素を使用する 1. Visual Stu

HOW DO I WebBrowser コントロールで HTML5 を 使用するには ここでは以下の手順で説明します Video 要素を使用する Silverlight と JavaScript の間でやり取りする Canvas 要素を使用する Video 要素を使用する 1. Visual Stu HOW DO I WebBrowser コントロールで HTML5 を 使用するには ここでは以下の手順で説明します Video 要素を使用する Silverlight と JavaScript の間でやり取りする Canvas 要素を使用する Video 要素を使用する 1. Visual Studio で "Windows Phone ゕプリケーション " プロジェクトテンプレートを使って "HTML5BrowserFeatures"

More information

mySQLの利用

mySQLの利用 MySQL の利用 インストール インストール時に特に注意点は無い 本稿記述時のバージョンは 6.5.4 で有る (2017 年 11 月現在では 6.10.4 で https://dev.mysql.com/downloads/connector/net/6.10.html よりダウンロード出来る ) 参照設定 インストールが終了すれば Visual Studio で参照の設定を行う 参照の設定画面で

More information

データベースプログラミング

データベースプログラミング データセットとデータテーブル データセット (DataSet) とは何かに付いて 簡単に説明する データセットとは 典型的な.NET の Windows データベースアプリケーションでは データセットを通じてアプリケーションからデータベースにアクセスする データセットとは 簡単に謂うと データベースから取得したレコードをメモリ上に持つ為の入れ物で有る 例えば データベースからレコードを取得し 其れをグリッドコントロールに表示する様な

More information

BarCode for WPF

BarCode for WPF 2018.04.10 更新 グレープシティ株式会社 目次 BarCode for WPF 2 はじめに 2 ComponentOne for WPF のヘルプ 2 主な特長 2 クイックスタート 2 手順 1: アプリケーションの設定 2-3 手順 2: コードの追加 3-5 手順 3: アプリケーションの実行 5-7 BarCode for WPF の使い方 7 サポートされるエンコーディング 7-9

More information

Abstract Kinect for Windows RGB Kinect for Windows v Kinect for Windows v2

Abstract Kinect for Windows RGB Kinect for Windows v Kinect for Windows v2 Kinect 2014 9 19 IS Report No. 2014092901 Report Medical Information System Laboratory Abstract Kinect for Windows 2012 2 RGB Kinect for Windows v2 2014 7 Kinect for Windows v2 1............................

More information

テキストファイルの入出力1

テキストファイルの入出力1 テキストファイルの入出力 1 0. 今回の目的前回までは 2 回にわたって繰り返しについて学んできました 今回からテキストファイルの入出力について学ぶことにします 1. テキストファイルへの出力 1.1 テキストファイルについてテキストファイルとは コンピュータで扱うことが出来るファイルの中で最も基本的なファイルであり どの様な OS でもサポートされているファイル形式です Windows においては

More information

スライド 1

スライド 1 WindowsForm サンプル解説 S2Container.NET, S2Dao.NET コミッタ 藤井宏明 1 S2Container.NET の Examples フォルダに付属する WindowsSample の解説です 概要 アプリケーション アーキテクチャー ソリューション構成 プロジェクト概要 サンプル説明 2 Ⅰ. アプリケーション アーキテクチャー 3 アプリケーション アーキテクチャー

More information

印刷

印刷 CrystalReport 印刷 概要 レポート作成ツールの利点 データの取得は難しく無い 例えば コードを記述してレコードセットをループし 目的の Windows アプリケーションや Web のアプリケーションに出力出来る.NET Framework 環境では 更に其のデータを Repeater DataList 又は DataGrid 等のコントロールにバインドする事も可能で有る 併し 此のデータを一定のレポート形式で表示するには

More information

印刷

印刷 印刷 Windows フォームに於ける印刷のサポート Windows フォームに於ける印刷では 主に ユーザーに依る印刷を可能にする為の PrintDocument コンポーネントと Windows オペレーティングシステムを常用して居るユーザーに見慣れたグラフィカルインターフェイスを提供する為の PrintPreviewDialog コントロール PrintDialog コンポーネント 及び PageSetupDialog

More information

// このクラスの有効期間中の各呼び出しに使用される キャッシュされた Socket オブジェクト Socket socket = null; // 非同期処理が完了したことを通知するために信号を送るオブジェクト static ManualResetEvent clientdone = new Ma

// このクラスの有効期間中の各呼び出しに使用される キャッシュされた Socket オブジェクト Socket socket = null; // 非同期処理が完了したことを通知するために信号を送るオブジェクト static ManualResetEvent clientdone = new Ma HOW DO I ソケットで通信を行うには ここでは以下の手順で説明します ソケットクライアントを作成するデータを送信するデータを受信するソケットクライアントを使用する ソケットクライアントを作成する 1. このコンテンツのサポートファイルの Start フォルダから "UDPClient" プロジェクトを開きます 2. クライアントを動作させるため コンピューターで簡易 TCP/IP サービスを有効にする必要があります

More information

Prog2_6th

Prog2_6th 2015 年 10 月 29 日 ( 木 ) 実施 レイアウトレイアウトの位置付け Android アプリで用いられる様々なレイアウト (Layout) は, それぞれ ViewGroup クラスを継承するクラスとして定義されているものであり,ViewGroup クラスは Viewクラスを継承するクラスである Viewクラスはユーザインタフェイスを構成する基本要素を表す ビュー (View) は画面上に長方形の領域を占め,

More information

データベースⅠ

データベースⅠ データベース操作プログラム Ⅰ VB 2005 8 プログラムの概要 データベースプログラムを手軽に作成する方法としては Access のフォーム機能を用いる事が 先ず考えられます ウィザードも充実しており 操作を覚えれば簡単に作成する事が出来ます 其れでは VB でデータベースプログラムを作るメリットは何んでしょうか 1 つは Access のフォーム機能に比べ コントロールが充実している事 より自由なデザインが可能です

More information

Prog2_6th

Prog2_6th 2017 年 11 月 2 日 ( 木 ) 実施 インテントインテントとは Android アプリは複数のアクティビティを持つことが出来, また, アクティビティ以外の要素も持つので, 複数のアクティビティ間, アクティビティとアクティビティ以外の要素との間といったオブジェクト間を結び付ける仕組みが必要となる その役割を担うのがインテントで, 複数のアプリ間やアプリとシステムとの間もインテントで結び付けることが出来る

More information

MVC4 Mobile Classic

MVC4 Mobile Classic 2015.05.20 更新 グレープシティ株式会社 目次 製品の概要 2 MVC の基本 2-4 MVC Classic プロジェクトの作成 4-5 AppView 5-6 アダプティブウィジェット 6 モバイル MVC スキャフォールディングの使用 7 手順 1: モバイル MVC Classic Web アプリケーションの作成 7-8 手順 2: モデルの追加 8-9 手順 3: コントローラーの追加

More information

Secure iNetSuite for .NET 4.0Jの新仕様について

Secure iNetSuite for .NET 4.0Jの新仕様について Secure inetsuite for.net 4.0J の新仕様について グレープシティ株式会社 2013 年 8 月初版 メール送受信とファイル転送機能を実現する通信コンポーネント Secure inet Suite の通信モードの仕様が新しくなりました 本資料では従来のバージョンとの違いとメリットをコードを使って詳しく解説します はじめに 2013 年 9 月発売の Secure FTP for.net

More information

MVP for VB が語る C# 入門

MVP for VB が語る C# 入門 MVP for VB が語る C# 入門 2008.08.09 初音玲 自己紹介 Z80 アセンブラ 6809 アセンブラ F-BASIC N88-BASIC FORTRAN 77 COBOL LISP Turbo Pascal Prolog KABA C 言語 M シリーズ アセンブラ PL/I VB3.0~ PL/SQL T-SQL VB2005/2008 index Microsoft Visual

More information

C#の基本2 ~プログラムの制御構造~

C#の基本2 ~プログラムの制御構造~ C# の基本 2 ~ プログラムの制御構造 ~ 今回学ぶ事 プログラムの制御構造としての単岐選択処理 (If 文 ) 前判定繰り返し処理(for 文 ) について説明を行う また 整数型 (int 型 ) 等の組み込み型や配列型についても解説を行う 今回作るプログラム 入れた文字の平均 分散 標準偏差を表示するプログラム このプログラムでは calc ボタンを押すと計算を行う (value は整数に限る

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 本セッションは 赤間さんのセッションで時間的な都合から紹介しきれなかった WPF と Silverlight の検証機能を解説し グレープシテゖが現在開発中の InputMan for WPF で提供する検証機能をご紹介するセッションです 本セッションはそれぞれの最新バージョンである WPF 3.5 SP1 と Silverlight 3 を前提にした内容となっています 2 検証の基本エラー表示の方法

More information

回文作成支援プログラム

回文作成支援プログラム 回文作成支援プログラム VB 2005 2 プログラムの概要 原文を 1 字入力する度に 其の回文が順次表示される 即ち AB と入力すると ABA と表示され ABC と入力すると ABCBA と表示される 亦 消去ボタンをクリックすると 原文 及び 回文を消去する事も出来る 終了ボタンをクリックすると プログラムをメモリから消去して終了する 今回の課題項目 単純変数の宣言 (Dim) Windows

More information

ASP.NET 2.0 Provider Model 概要

ASP.NET 2.0 Provider Model 概要 ASP.NET 2.0 Provider Model 概要 Agenda ASP.NET 2.0 Provider Model とは カスタムプロバイダの実装 まとめ ASP.NET 2.0 Provider Model とは ASP.NET 2.0 のインフラストラクチャ データストアへのアクセスをアプリケーションロジックから分離 データストアの変更に柔軟に対応 Strategy パターン デザインパターンによる意識の共通化

More information

D:\Documents\Visual Studio 2015\Projects\MyHomePage 用サンプル \ExcelAndWord\ExcelAndWord\MainForm.cs 1 /* */ Excel や Word とやりとりする ~9,20 仕様 Excel

D:\Documents\Visual Studio 2015\Projects\MyHomePage 用サンプル \ExcelAndWord\ExcelAndWord\MainForm.cs 1 /* */ Excel や Word とやりとりする ~9,20 仕様 Excel D:\Documents\Visual Studio 2015\Projects\MyHomePage 用サンプル \ExcelAndWord\ExcelAndWord\MainForm.cs 1 /* */ Excel や Word とやりとりする 2015.9.19~9,20 仕様 Excel の場合は 処理メニュー選択用の新しいフォームを開き この実行ファイルと同じフォルダにある test.xlsb

More information

( 目次 ) 1. はじめに 開発環境の準備 仮想ディレクトリーの作成 ASP.NET のWeb アプリケーション開発環境準備 データベースの作成 データベースの追加 テーブルの作成

( 目次 ) 1. はじめに 開発環境の準備 仮想ディレクトリーの作成 ASP.NET のWeb アプリケーション開発環境準備 データベースの作成 データベースの追加 テーブルの作成 KDDI ホスティングサービス (G120, G200) ブック ASP.NET 利用ガイド ( ご参考資料 ) rev.1.0 KDDI 株式会社 1 ( 目次 ) 1. はじめに... 3 2. 開発環境の準備... 3 2.1 仮想ディレクトリーの作成... 3 2.2 ASP.NET のWeb アプリケーション開発環境準備... 7 3. データベースの作成...10 3.1 データベースの追加...10

More information