📄 mirrorfielddefinition.cs
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Epi.Fields;
namespace Epi.Windows.MakeView.Dialogs.FieldDefinitionDialogs
{
/// <summary>
/// Field definition dialog for mirror fields
/// </summary>
public partial class MirrorFieldDefinition : GenericFieldDefinition
{
private MirrorField field;
/// <summary>
/// Default Constsructor, for exclusive use by the designer.
/// </summary>
public MirrorFieldDefinition()
{
InitializeComponent();
}
/// <summary>
/// Constructor for Mirror Field Definition
/// </summary>
/// <param name="frm">The main form</param>
/// <param name="page">The page</param>
public MirrorFieldDefinition(MainForm frm, Page page) : base(frm)
{
InitializeComponent();
this.mode = FormMode.Create;
this.page = page;
PopulateVariables();
cbxAssignedVariable.SelectedIndex = -1;
}
/// <summary>
/// Constructor for Mirror Field Definition
/// </summary>
/// <param name="frm">The main form</param>
/// <param name="field">The mirror field</param>
public MirrorFieldDefinition(MainForm frm, MirrorField field) : base(frm)
{
InitializeComponent();
this.mode = FormMode.Edit;
this.field = field;
this.page = field.Page;
PopulateVariables();
cbxAssignedVariable.SelectedIndex = -1;
LoadFormData();
}
private void PopulateVariables()
{
foreach (IDataField field in this.page.GetView().Fields.DataFields)
{
cbxAssignedVariable.Items.Add(field);
}
}
private void LoadFormData()
{
txtPrompt.Text = field.PromptText;
txtFieldName.Text = field.Name;
if (field.SourceFieldId > 0)
{
cbxAssignedVariable.SelectedItem = field.SourceField;
}
promptFont = field.PromptFont;
controlFont = field.ControlFont;
}
/// <summary>
/// Sets the field's properties based on GUI values
/// </summary>
protected override void SetFieldProperties()
{
field.Name = txtFieldName.Text;
field.PromptText = txtPrompt.Text;
if (!string.IsNullOrEmpty(cbxAssignedVariable.Text))
{
field.SourceFieldId = ((Field)cbxAssignedVariable.SelectedItem).Id;
}
if (promptFont != null)
{
field.PromptFont = promptFont;
}
if (controlFont != null)
{
field.ControlFont = controlFont;
}
}
/// <summary>
/// Gets the field defined by this field definition dialog
/// </summary>
public override RenderableField Field
{
get
{
return field;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -