セルの上下左右に異なる罫線をそれぞれ設定したのですが、最後に設定した罫線しか表示されません

文書番号 : 33601     文書種別 : 使用方法     登録日 : 2012/11/14     最終更新日 : 2012/11/14
文書を印刷する
対象製品
SPREAD for Windows Forms 7.0J
詳細
同一のセルに対して、上下左右に異なる罫線(Border プロパティ)をそれぞれ設定した場合、最後に設定した罫線だけが反映されます。これは、後から設定した罫線によって以前の設定が上書きされてしまうためです。

それぞれの辺に異なる罫線を設定する場合は、辺ごとにBorder プロパティを設定するのではなく各辺を設定した罫線オブジェクトを作成し、セルのBorder プロパティに設定する必要があります。

◎サンプルコード(VB)
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    ' 複合罫線を設定します
    Dim cbs1 As New FarPoint.Win.ComplexBorderSide(FarPoint.Win.ComplexBorderSideStyle.ThickLine, Color.Red)
    Dim cbs2 As New FarPoint.Win.ComplexBorderSide(FarPoint.Win.ComplexBorderSideStyle.DoubleLine, Color.Blue)
    Dim cbs3 As New FarPoint.Win.ComplexBorderSide(FarPoint.Win.ComplexBorderSideStyle.DashDot, Color.Green)
    Dim cbs4 As New FarPoint.Win.ComplexBorderSide(FarPoint.Win.ComplexBorderSideStyle.MediumDashed, Color.Yellow)
    Dim cBorder As New FarPoint.Win.ComplexBorder(cbs1, cbs2, cbs3, cbs4)
    FpSpread1.ActiveSheet.Cells(1, 1).Border = cBorder

End Sub


◎サンプルコード(C#)
private void Form1_Load(object sender, EventArgs e)
{
    // 複合罫線を設定します
    FarPoint.Win.ComplexBorderSide cbs1 = new FarPoint.Win.ComplexBorderSide(FarPoint.Win.ComplexBorderSideStyle.ThickLine, Color.Red);
    FarPoint.Win.ComplexBorderSide cbs2 = new FarPoint.Win.ComplexBorderSide(FarPoint.Win.ComplexBorderSideStyle.DoubleLine, Color.Blue);
    FarPoint.Win.ComplexBorderSide cbs3 = new FarPoint.Win.ComplexBorderSide(FarPoint.Win.ComplexBorderSideStyle.DashDot, Color.Green);
    FarPoint.Win.ComplexBorderSide cbs4 = new FarPoint.Win.ComplexBorderSide(FarPoint.Win.ComplexBorderSideStyle.MediumDashed, Color.Yellow);
    FarPoint.Win.ComplexBorder cBorder = new FarPoint.Win.ComplexBorder(cbs1, cbs2, cbs3, cbs4);
    fpSpread1.ActiveSheet.Cells[1, 1].Border = cBorder;
}
関連情報
キーワード
「罫線」