| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369 |
-
- using System.Drawing;
- using System.Windows.Forms;
- namespace Dongke.WinForm.Controls.InvoiceLayout
- {
- internal partial class PageNumItemSetting : Setting
- {
- #region 成员变量
- private TextAlignment _textAlign = TextAlignment.LeftOrTop; // 文本对齐方式
- private TextAlignment _textAlignVertical = TextAlignment.LeftOrTop; // 文本垂直对齐方式
- private bool _isInit = true;
- #endregion
- #region 属性
- /// <summary>
- /// 文本字体
- /// </summary>
- public Font TextFont
- {
- get
- {
- return txtPreview.Font;
- }
- set
- {
- txtPreview.Font = value;
- }
- }
- /// <summary>
- /// 文本颜色
- /// </summary>
- public Color TextColor
- {
- get
- {
- return txtPreview.ForeColor;
- }
- set
- {
- txtPreview.ForeColor = value;
- }
- }
- /// <summary>
- /// 文本对齐方式
- /// </summary>
- public TextAlignment TextAlign
- {
- get
- {
- return _textAlign;
- }
- set
- {
- if (_textAlign != value)
- {
- _textAlign = value;
- }
- }
- }
- /// <summary>
- /// 文本垂直对齐方式
- /// </summary>
- public TextAlignment TextAlignVertical
- {
- get
- {
- return _textAlignVertical;
- }
- set
- {
- if (_textAlignVertical != value)
- {
- _textAlignVertical = value;
- }
- }
- }
- /// <summary>
- /// X
- /// </summary>
- public float TextLocationY
- {
- get
- {
- return System.Convert.ToSingle(numLoctionY.Value);
- }
- set
- {
- decimal d = System.Convert.ToDecimal(value);
- if (d < numLoctionY.Minimum)
- {
- d = numLoctionY.Minimum;
- }
- else if (numLoctionY.Maximum < d)
- {
- d = numLoctionY.Maximum;
- }
- numLoctionY.Value = d;
- }
- }
- /// <summary>
- /// Y
- /// </summary>
- public float TextLocationX
- {
- get
- {
- return System.Convert.ToSingle(numLoctionX.Value);
- }
- set
- {
- decimal d = System.Convert.ToDecimal(value);
- if (d < numLoctionX.Minimum)
- {
- d = numLoctionX.Minimum;
- }
- else if (numLoctionX.Maximum < d)
- {
- d = numLoctionX.Maximum;
- }
- numLoctionX.Value = d;
- }
- }
- /// <summary>
- /// 宽
- /// </summary>
- public float TextWidth
- {
- get
- {
- return System.Convert.ToSingle(numWidth.Value);
- }
- set
- {
- decimal d = System.Convert.ToDecimal(value);
- if (d < numWidth.Minimum)
- {
- d = numWidth.Minimum;
- }
- else if (numWidth.Maximum < d)
- {
- d = numWidth.Maximum;
- }
- numWidth.Value = d;
- }
- }
- /// <summary>
- /// 高
- /// </summary>
- public float TextHeight
- {
- get
- {
- return System.Convert.ToSingle(numHeight.Value);
- }
- set
- {
- decimal d = System.Convert.ToDecimal(value);
- if (d < numHeight.Minimum)
- {
- d = numHeight.Minimum;
- }
- else if (numHeight.Maximum < d)
- {
- d = numHeight.Maximum;
- }
- numHeight.Value = d;
- }
- }
- /// <summary>
- /// 文本格式
- /// </summary>
- public string TextFormat
- {
- get
- {
- return txtPageNumFormat.Text;
- }
- set
- {
- txtPageNumFormat.Text = value;
- if (string.IsNullOrEmpty(txtPageNumFormat.Text))
- {
- this.txtPreview.Text = "";
- }
- else
- {
- this.txtPreview.Text = txtPageNumFormat.Text.Replace("&[页码]", "1").Replace("&[总页数]", "1");
- }
- }
- }
- #endregion
- #region 构造函数
- /// <summary>
- /// 构造函数
- /// </summary>
- public PageNumItemSetting()
- {
- InitializeComponent();
- TextWidth = LayoutCommon.DefaultTextItemSizeWidth;
- TextHeight = LayoutCommon.DefaultTextItemSizeHeight;
- }
- #endregion
- #region 事件处理
- /// <summary>
- /// 文本设置
- /// </summary>
- /// <param name="sender">指定的对象</param>
- /// <param name="e">提供的事件数据</param>
- private void TextItemSetting_Shown(object sender, System.EventArgs e)
- {
- try
- {
- if (grbTextAlignment.Enabled)
- {
- switch (_textAlign)
- {
- case TextAlignment.LeftOrTop:
- rbtnLeft.Checked = true;
- txtPreview.TextAlign = HorizontalAlignment.Left;
- break;
- case TextAlignment.RightOrBottom:
- rbtnRight.Checked = true;
- txtPreview.TextAlign = HorizontalAlignment.Right;
- break;
- case TextAlignment.Center:
- rbtnCenter.Checked = true;
- txtPreview.TextAlign = HorizontalAlignment.Center;
- break;
- case TextAlignment.Evenness:
- rbtnEvenness.Checked = true;
- txtPreview.TextAlign = HorizontalAlignment.Left;
- break;
- }
- }
- if (grbTextAlignmentV.Enabled)
- {
- switch (_textAlignVertical)
- {
- case TextAlignment.LeftOrTop:
- rbtnTop.Checked = true;
- break;
- case TextAlignment.RightOrBottom:
- rbtnBottom.Checked = true;
- break;
- case TextAlignment.Center:
- rbtnCenterV.Checked = true;
- break;
- default:
- rbtnTop.Checked = true;
- break;
- }
- }
- }
- finally
- {
- _isInit = false;
- }
- }
- /// <summary>
- /// 设置文本颜色
- /// </summary>
- /// <param name="sender">指定的对象</param>
- /// <param name="e">提供的事件数据</param>
- private void btnSelectColor_Click(object sender, System.EventArgs e)
- {
- colorDialog.Color = txtPreview.ForeColor;
- if (colorDialog.ShowDialog() == DialogResult.OK)
- {
- txtPreview.ForeColor = colorDialog.Color;
- }
- }
- /// <summary>
- /// 设置文本对齐方式
- /// </summary>
- /// <param name="sender">指定的对象</param>
- /// <param name="e">提供的事件数据</param>
- private void rbtnTextAlignment_CheckedChanged(object sender, System.EventArgs e)
- {
- if (_isInit)
- {
- return;
- }
- if (rbtnLeft.Checked)
- {
- txtPreview.TextAlign = HorizontalAlignment.Left;
- _textAlign = TextAlignment.LeftOrTop;
- }
- else if (rbtnRight.Checked)
- {
- txtPreview.TextAlign = HorizontalAlignment.Right;
- _textAlign = TextAlignment.RightOrBottom;
- }
- else if (rbtnCenter.Checked)
- {
- txtPreview.TextAlign = HorizontalAlignment.Center;
- _textAlign = TextAlignment.Center;
- }
- else
- {
- txtPreview.TextAlign = HorizontalAlignment.Left;
- _textAlign = TextAlignment.Evenness;
- }
- if (rbtnTop.Checked)
- {
- _textAlignVertical = TextAlignment.LeftOrTop;
- }
- else if (rbtnBottom.Checked)
- {
- _textAlignVertical = TextAlignment.RightOrBottom;
- }
- else if (rbtnCenterV.Checked)
- {
- _textAlignVertical = TextAlignment.Center;
- }
- else
- {
- _textAlignVertical = TextAlignment.LeftOrTop;
- }
- }
- /// <summary>
- /// 设置文本字体。
- /// </summary>
- /// <param name="sender">指定的对象</param>
- /// <param name="e">提供的事件数据</param>
- private void btnFont_Click(object sender, System.EventArgs e)
- {
- fontDialog.Font = TextFont;
- if (fontDialog.ShowDialog() == DialogResult.OK)
- {
- TextFont = fontDialog.Font;
- }
- }
- /// <summary>
- /// 设置文本格式
- /// </summary>
- /// <param name="sender">指定的对象</param>
- /// <param name="e">提供的事件数据</param>
- private void txtPageNumFormat_Validating(object sender, System.ComponentModel.CancelEventArgs e)
- {
- if (string.IsNullOrEmpty(txtPageNumFormat.Text))
- {
- this.txtPreview.Text = "";
- }
- else
- {
- this.txtPreview.Text = txtPageNumFormat.Text.Replace("&[页码]", "1").Replace("&[总页数]", "1");
- }
- }
- #endregion 事件处理
- }
- }
|