彩票走势图

logo DevExpress WinForm中文手册

警报窗口与HTML模板


立即下载DevExpress WinForms

受web启发的HTML和CSS模板允许您设计具有任何自定义外观和布局的警报。

DevExpress HTML警报

创建静态警报模板

点击AlertControl.HtmlTemplate属性旁边的省略号按钮来调用模板编辑器。

DevExpress 模板编辑器

如果您需要多个模板,请填充AlertControl.HtmlTemplates集合,也可以使用此集合在显示通知之前切换活动模板。

C#:

alertControl1.HtmlTemplate.Assign(alertControl1.HtmlTemplates[1]);

点击复制

VB.NET:

alertControl1.HtmlTemplate.Assign(alertControl1.HtmlTemplates(1))

点击复制

<img>标签允许您向模板添加图标。用矢量图像填充SvgImageCollection,并将其分配给AlertControl.HtmlImages属性。当一个图像集合被分配给Alert控件时,可以在模板语法编辑器中按Ctrl+Space来浏览存储在该集合中的图标列表,并将所需的图像分配给<img>标签的src属性。

HTML:

c<img src="message_icon_2"/>

点击复制

 要用静态模板显示通知,请使用AlertControl.Show(Form)方法,该方法只接受父对象(Form)作为参数。

C#:

alertControl1.Show(this);

点击复制

VB.NET:

alertControl1.Show(Me)

点击复制

用可变数据创建模板

除了带有静态标题和文本字符串的模板之外,还可以创建带有值占位符的HTML元素。

HTML:

<div class="text">${Caption}</div>
<div class="text">${Text}</div>

点击复制

使用AlertControl.Show方法重载" Caption "和" Text "参数来传递真实值给这些HTML元素。因此,您可以对各种通知使用相同的模板设计。

C#:

alertControl1.Show(this, "Sample caption", "Sample notification text");

点击复制

VB.NET:

alertControl1.Show(Me, "Sample caption", "Sample notification text")

点击复制

您还可以对AlertInfo参数使用重载,这个重载允许将字符串和图像数据传递给HTML元素。

HTML:

<div class="text">${Caption}</div>
<div class="text">${Text}</div>
<img src="${SvgImage}"/>

点击复制

C#:

AlertInfo aInfo = new AlertInfo("Sample notification", "This text is stored in the AlertInfo object");
aInfo.ImageOptions.SvgImage = svgImageCollection1[0];

alertControl1.Show(this, aInfo);

点击复制

VB.NET:

Dim aInfo As New AlertInfo("Sample notification", "This text is stored in the AlertInfo object")
aInfo.ImageOptions.SvgImage = svgImageCollection1(0)

alertControl1.Show(Me, aInfo)

点击复制

如果需要具有多个数据绑定元素的复杂模板,请创建自定义数据存储。要将数据从这个对象传递给HTML元素,使用相应的Show方法重载或处理AlertControl.BeforeFormShow事件。

HTML:

<div class="title-main">${Title}</div>
<div class="title-sub">${Subtitle}</div>
<div class="text">${PrimaryText}</div>
<div class="text">${SecondaryText}</div>

点击复制

C#:

alertControl1.Show(this, new AlertData("Sample Title", "Sample Subtitle",
"Primary Text Block", "Secondary Text Block"));
// or
alertControl1.Show(this);
private void AlertControl1_BeforeFormShow(object sender, AlertFormEventArgs e) {
e.HtmlPopup.DataContext = new AlertData("Sample Title", "Sample Subtitle",
"Primary Text Block", "Secondary Text Block");
}

// Custom class whose instances are used as DataContext
public class AlertData {
public AlertData(string title, string subtitle, string primaryText, string secondaryText) {
Title = title;
Subtitle = subtitle;
PrimaryText = primaryText;
SecondaryText = secondaryText;
}

public string Title { get; set; }
public string Subtitle { get; set; }
public string PrimaryText { get; set; }
public string SecondaryText { get; set; }
}

点击复制

VB.NET:

alertControl1.Show(Me, New AlertData("Sample Title", "Sample Subtitle", "Primary Text Block", "Secondary Text Block"))
' or
alertControl1.Show(Me)
private void AlertControl1_BeforeFormShow(Object sender, AlertFormEventArgs e)
e.HtmlPopup.DataContext = New AlertData("Sample Title", "Sample Subtitle", "Primary Text Block", "Secondary Text Block")

' Custom class whose instances are used as DataContext
public class AlertData
public AlertData(String title, String subtitle, String primaryText, String secondaryText)
Title = title
Subtitle = subtitle
PrimaryText = primaryText
SecondaryText = secondaryText

public String Title {get;set;}
public String Subtitle {get;set;}
public String PrimaryText {get;set;}
public String SecondaryText {get;set;}

点击复制

管理通知

所有的AlertControl设置指定的位置和行为的常规警报窗口也可以用于模板警报:

  • FormLocation
  • AutoFormDelay
  • FormDisplaySpeed
  • FormShowingEffect
  • FormMaxCount

要关闭和固定模板警报,您可以创建具有唯一id的按钮,并处理AlertControl.HtmlElementMouseClick事件。

HTML:

<div id="pinButton" class="button">Pin</div>
<div id="closeButton" class="button">Close</div>

点击复制

C#:

private void OnHtmlElementMouseClick(object sender, AlertHtmlElementMouseEventArgs e) {
if (e.ElementId == "pinButton")
e.HtmlPopup.Pinned = !e.HtmlPopup.Pinned;

if (e.ElementId == "closeButton")
e.HtmlPopup.Close();
}

点击复制

VB.NET:

Private Sub OnHtmlElementMouseClick(ByVal sender As Object, ByVal e As AlertHtmlElementMouseEventArgs)
If e.ElementId = "pinButton" Then
e.HtmlPopup.Pinned = Not e.HtmlPopup.Pinned
End If

If e.ElementId = "closeButton" Then
e.HtmlPopup.Close()
End If
End Sub

点击复制

RaiseHtmlElementClick方法允许手动触发与所需HTML元素相关的操作(使用唯一的元素id来标识HTML元素)。

C#:

alertControl1.RaiseHtmlElementClick("closeButton", e.HtmlPopup);

点击复制

VB.NET:

alertControl1.RaiseHtmlElementClick("closeButton", e.HtmlPopup)

点击复制

扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP