TileControl for WinForms
実行時の画像の描画
タスク別ヘルプ > タイルへの画像要素の追加 > 実行時の画像の描画

実行時に Paint イベントを使用し、次のように、画像を描画できます。

  1. C1TileControl を右クリックし、[テンプレートの編集]を選択します。
  2. 追加〉をクリックし、テンプレートを C1TileControl に追加します。
  3. 次のコードをプロジェクトに追加し、実行時に画像を描画します。

    Visual Basic コードの書き方

    Visual Basic
    コードのコピー
    Private Sub template1_Paint(sender As Object, e As C1.Win.C1Tile.TemplatePaintEventArgs)
       Dim g As Graphics = e.Graphics
       g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality
       Dim rect As Rectangle = e.ClipRectangle
       rect.X += (rect.Width - 28) \ 2
       rect.Y += (rect.Height - 28) \ 2
       rect.Width = 28
       rect.Height = 28
       Dim brush As Brush = New SolidBrush(e.Tile.GetBackColor())
       Dim pen As New Pen(e.Tile.GetForeColor())
       Select Case e.Tile.IntValue
              Case 1
                     g.FillPie(brush, rect, 50F, 270F)
                     g.DrawPie(pen, rect, 50F, 270F)
                     Exit Select
              Case 2
                     g.FillRectangle(brush, rect)
                     g.DrawRectangle(pen, rect)
                     Exit Select
              Case Else
                     g.FillEllipse(brush, rect)
                     g.DrawEllipse(pen, rect)
                     Exit Select
       End Select
       brush.Dispose()
       pen.Dispose()
    End Sub
    

    C# コードの書き方

    C#
    コードのコピー
    private void template8_Paint(object sender, C1.Win.C1Tile.TemplatePaintEventArgs e)
       {
           Graphics g = e.Graphics;
           g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
           Rectangle rect = e.ClipRectangle;
           rect.X += (rect.Width - 28) / 2;
           rect.Y += (rect.Height - 28) / 2;
           rect.Width = 28;
           rect.Height = 28;
           Brush brush = new SolidBrush(e.Tile.GetBackColor());
           Pen pen = new Pen(e.Tile.GetForeColor());
           switch (e.Tile.IntValue)
           {
               case 1:
                  g.FillPie(brush, rect, 50f, 270f);
                  g.DrawPie(pen, rect, 50f, 270f);
                  break;
               case 2:
                  g.FillRectangle(brush, rect);
                  g.DrawRectangle(pen, rect);
                  break;
              default:
                 g.FillEllipse(brush, rect);
                 g.DrawEllipse(pen, rect);
                 break;
           }
           brush.Dispose();
           pen.Dispose();
       }
    
  4. デザインビューで、C1TileControl を右クリックし、[プロパティ]を選択します。
  5. ウィンドウのドロップダウンリストボックスから、Template1 を選択します。
  6. ウィンドウのドロップダウンリストボックスから、Template1 を選択します。
  7. tile1 を選択し、その[C1TileControl タスク]メニューを表示して、各プロパティを次のように設定します。
    • Horizontal Sizeに設定。
    • Vertical Sizeに設定。
    • IntValueに設定。 これにより、1番目の描画が1番目のタイルに適用されます。
    • Templatetemplate1 に設定。
  8. tile2 を選択し、[C1TileControl タスク]メニューを表示して、各プロパティを次のように設定します。
    • Horizontal Sizeに設定。
    • Vertical Sizeに設定。
    • IntValue1に設定。 これにより、2番目の描画が2番目のタイルに適用されます。
    • Templatetemplate1 に設定。
  9. tile2 を選択し、[C1TileControl タスク]メニューを表示して、各プロパティを次のように設定します。
    • Horizontal Sizeに設定。
    • Vertical Sizeに設定。
    • IntValue2に設定。 これにより、3番目の描画が3番目のタイルに適用されます。
    • Templatetemplate1 に設定。
  10. プロジェクトを実行し、タイル上に作成された描画を観察します。