HTML (C# / netframework)
Note
This demo is available in your FlexCel installation at <FlexCel Install Folder>\samples\csharp\VS2022\netframework\20.Reports\83.HTML and also at https://github.com/tmssoftware/TMS-FlexCel.NET-demos/tree/master/csharp/VS2022/netframework/Modules/20.Reports/83.HTML
Overview
A demo that shows how to use HTML formatted strings directly on FlexCel. On this example we used to connect to Yahoo Travel web service, and format the results into an Excel or pdf sheet. As Yahoo Travel doesn't exist anymore, some sample data is included to work offline without connecting.
Concepts
FlexCel supports a light subset of HTML commands, like <b>, <br>, and the escaped characters like &. But this should be enough to for having rich format inside cells.
Any HTML tag that FlexCel cannot parse will be ignored.
Note how the word "London" is in bold in titles like "London and Paris". This is because the HTML returned contained those tags.
You can allow HTML in a FlexCelReport in two ways:
You can enable it globally by setting FlexCelReport.HTMLMode = true, and disable it where not needed with the <#HTML(false)> tag. This is not normally recommended, since when in HTML mode all strings have to be html strings, where for example two spaces mean only one, and carriage returns are created with <br> tags.
You can enable it on a cell by cell basis, by using the <#HTML(true)> tag. This is the approach we use here.
How to set Intelligent Page Breaks. FlexCel will add page breaks so all entries are kept together when printing or exporting to pdf.
You can also set an hyperlink in an image. In this case, we wrote an hyperlink in the image pointing to the URL in the database. This link is also exported to pdf.
Files
AssemblyInfo.cs
using System.Reflection;
using System.Runtime.CompilerServices;
//
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
//
[assembly: AssemblyTitle("")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("(c) 2002 - 2024 TMS Software")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
//
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("7.21.0.0")]
//
// In order to sign your assembly you must specify a key to use. Refer to the
// Microsoft .NET Framework documentation for more information on assembly signing.
//
// Use the attributes below to control which key is used for signing.
//
// Notes:
// (*) If no key is specified, the assembly is not signed.
// (*) KeyName refers to a key that has been installed in the Crypto Service
// Provider (CSP) on your machine. KeyFile refers to a file which contains
// a key.
// (*) If the KeyFile and the KeyName values are both specified, the
// following processing occurs:
// (1) If the KeyName can be found in the CSP, that key is used.
// (2) If the KeyName does not exist and the KeyFile does exist, the key
// in the KeyFile is installed into the CSP and used.
// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
// When specifying the KeyFile, the location of the KeyFile should be
// relative to the project output directory which is
// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
// located in the project directory, you would specify the AssemblyKeyFile
// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
// documentation for more information on this.
//
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile("")]
[assembly: AssemblyKeyName("")]
Form1.cs
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.IO;
using System.Diagnostics;
using System.Reflection;
using System.Xml;
using System.Net;
using System.Threading;
using System.Globalization;
using FlexCel.Core;
using FlexCel.XlsAdapter;
using FlexCel.Report;
using FlexCel.Render;
namespace HTML
{
/// <summary>
/// Shows the limited HTML support.
/// </summary>
public partial class mainForm: System.Windows.Forms.Form
{
public mainForm()
{
InitializeComponent();
}
private void Export(SaveFileDialog SaveDialog, bool ToPdf)
{
using (FlexCelReport reportStart = new FlexCelReport(true))
{
if (cbOffline.Checked && edCity.Text != "london") MessageBox.Show("Offline mode is selected, so we will show the data of london. The actual city you wrote will not be used unless you select online mode.", "Warning");
try
{
string DataPath = Path.Combine(Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), ".."), "..") + Path.DirectorySeparatorChar;
string OfflineDataPath = Path.Combine(DataPath, "OfflineData") + Path.DirectorySeparatorChar;
//We will use a thread to connect, to avoid "freezing" the GUI
WebConnectThread MyWebConnect = new WebConnectThread(reportStart, edCity.Text, OfflineDataPath, cbOffline.Checked);
Thread WebConnect = new Thread(new ThreadStart(MyWebConnect.LoadData));
WebConnect.Start();
using (ProgressDialog Pg = new ProgressDialog())
{
Pg.ShowProgress(WebConnect);
if (MyWebConnect != null && MyWebConnect.MainException != null)
{
throw MyWebConnect.MainException;
}
}
if (SaveDialog.ShowDialog() == DialogResult.OK)
{
if (ToPdf)
{
XlsFile xls = new XlsFile();
xls.Open(DataPath + "HTML.template.xls");
reportStart.Run(xls);
using (FlexCelPdfExport PdfExport = new FlexCelPdfExport(xls, true))
{
PdfExport.Export(SaveDialog.FileName);
}
}
else
{
reportStart.Run(DataPath + "HTML.template.xls", SaveDialog.FileName);
}
if (MessageBox.Show("Do you want to open the generated file?", "Confirm", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
using (Process p = new Process())
{
p.StartInfo.FileName = SaveDialog.FileName;
p.StartInfo.UseShellExecute = true;
p.Start();
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
private void btnCancel_Click(object sender, System.EventArgs e)
{
Close();
}
private void btnExportPdf_Click(object sender, System.EventArgs e)
{
Export(saveFileDialogPdf, true);
}
private void btnExportXls_Click(object sender, System.EventArgs e)
{
Export(saveFileDialogXls, false);
}
private void linkLabel1_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
{
using (Process p = new Process())
{
p.StartInfo.FileName = (sender as LinkLabel).Text;
p.StartInfo.UseShellExecute = true;
p.Start();
}
}
}
class WebConnectThread
{
string CityName;
string DataPath;
bool UseOfflineData;
FlexCelReport ReportStart;
private Exception FMainException;
public WebConnectThread(FlexCelReport aReportStart, string aCityName, string aDataPath, bool aUseOfflineData)
{
CityName = aCityName;
DataPath = aDataPath;
UseOfflineData = aUseOfflineData;
ReportStart = aReportStart;
}
/// <summary>
/// This is the method we will call form a thread. It catches any internal exception.
/// </summary>
public void LoadData()
{
try
{
LoadData(ReportStart, CityName, DataPath, UseOfflineData);
}
catch (Exception ex)
{
FMainException = ex;
}
}
public static void LoadData(FlexCelReport reportStart, string CityName, string DataPath, bool UseOfflineData)
{
reportStart.SetValue("Date", DateTime.Now);
DataSet ds = new DataSet();
ds.Locale = CultureInfo.InvariantCulture;
ds.EnforceConstraints = false;
ds.ReadXmlSchema(Path.Combine(DataPath, "TripSearchResponse.xsd"));
ds.Tables["Result"].Columns.Add("ImageData", typeof(byte[])); //Add a column for the actual images.
if (UseOfflineData)
{
ds.ReadXml(Path.Combine(DataPath, "OfflineData.xml"));
}
else
{
// Create the web request
string url = String.Format("http://travel.yahooapis.com/TripService/V1.1/tripSearch?appid=YahooDemo&query={0}&results=20", CityName);
UriBuilder uri = new UriBuilder(url);
HttpWebRequest request = WebRequest.Create(uri.Uri.AbsoluteUri) as HttpWebRequest;
// Get response
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
// Load data into a dataset
ds.ReadXml(response.GetResponseStream());
}
}
if (ds.Tables["ResultSet"].Rows.Count <= 0) throw new Exception("Error loading the data.");
if (Convert.ToInt32(ds.Tables["ResultSet"].Rows[0]["totalResultsReturned"]) <= 0) throw new Exception("There are no travel plans for this location");
LoadImageData(ds, UseOfflineData, DataPath);
/* Uncomment this code to create an offline image of the data.*/
#if (CreateOffline)
ds.WriteXml(Path.Combine(DataPath, "OfflineData.xml"));
#endif
reportStart.AddTable(ds);
}
internal Exception MainException
{
get
{
return FMainException;
}
}
private static void LoadImageData(DataSet ds, bool UseOfflineData, string DataPath)
{
DataTable Images = ds.Tables["Image"];
Images.PrimaryKey = new DataColumn[] { Images.Columns["Result_Id"] };
foreach (DataRow dr in ds.Tables["Result"].Rows)
{
DataRow ImageRow = Images.Rows.Find(dr["Result_Id"]);
if (ImageRow == null) continue;
string url = Convert.ToString(ImageRow["Url"]);
if (url != null && url.Length > 0)
{
dr["ImageData"] = LoadIcon(url, UseOfflineData, DataPath);
}
}
}
internal static byte[] LoadIcon(string url, bool useOfflineData, string dataPath)
{
if (useOfflineData)
{
Uri u = new Uri(url);
return LoadFileIcon(Path.Combine(dataPath, u.Segments[u.Segments.Length - 1]));
}
else
{
/* Uncomment this code to create an offline image of the data. */
#if (CreateOffline)
Uri u = new Uri(url);
byte[] IconData = LoadWebIcon(url);
using (FileStream fs = new FileStream(Path.Combine(dataPath, u.Segments[u.Segments.Length - 1]), FileMode.Create))
{
fs.Write(IconData, 0, IconData.Length);
}
#endif
return LoadWebIcon(url);
}
}
/// <summary>
/// On a real implementation this should be cached.
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
internal static byte[] LoadWebIcon(string url)
{
using (WebClient wc = new WebClient())
{
return wc.DownloadData(url);
}
}
private static byte[] LoadFileIcon(string filename)
{
using (FileStream fs = new FileStream(filename, FileMode.Open))
{
byte[] Result = new byte[fs.Length];
fs.Read(Result, 0, Result.Length);
return Result;
}
}
}
}
Form1.Designer.cs
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.IO;
using System.Diagnostics;
using System.Reflection;
using System.Xml;
using System.Net;
using System.Threading;
using System.Globalization;
using FlexCel.Core;
using FlexCel.XlsAdapter;
using FlexCel.Report;
using FlexCel.Render;
namespace HTML
{
public partial class mainForm: System.Windows.Forms.Form
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose(bool disposing)
{
if (disposing)
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.btnExportXls = new System.Windows.Forms.Button();
this.saveFileDialogXls = new System.Windows.Forms.SaveFileDialog();
this.btnCancel = new System.Windows.Forms.Button();
this.cbOffline = new System.Windows.Forms.CheckBox();
this.btnExportPdf = new System.Windows.Forms.Button();
this.saveFileDialogPdf = new System.Windows.Forms.SaveFileDialog();
this.edCity = new System.Windows.Forms.TextBox();
this.labelCity = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.linkLabel1 = new System.Windows.Forms.LinkLabel();
this.panel1 = new System.Windows.Forms.Panel();
this.label2 = new System.Windows.Forms.Label();
this.panel1.SuspendLayout();
this.SuspendLayout();
//
// btnExportXls
//
this.btnExportXls.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnExportXls.BackColor = System.Drawing.Color.Green;
this.btnExportXls.ForeColor = System.Drawing.Color.White;
this.btnExportXls.Location = new System.Drawing.Point(16, 258);
this.btnExportXls.Name = "btnExportXls";
this.btnExportXls.Size = new System.Drawing.Size(112, 24);
this.btnExportXls.TabIndex = 0;
this.btnExportXls.Text = "Export to Excel";
this.btnExportXls.UseVisualStyleBackColor = false;
this.btnExportXls.Click += new System.EventHandler(this.btnExportXls_Click);
//
// saveFileDialogXls
//
this.saveFileDialogXls.Filter = "Excel Files|*.xls;*.xlsx;*.xlsm|Excel 97/2003|*.xls|Excel 2007|*.xlsx;*.xlsm|All " +
"files|*.*";
this.saveFileDialogXls.RestoreDirectory = true;
//
// btnCancel
//
this.btnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnCancel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnCancel.ForeColor = System.Drawing.Color.White;
this.btnCancel.Location = new System.Drawing.Point(272, 258);
this.btnCancel.Name = "btnCancel";
this.btnCancel.Size = new System.Drawing.Size(112, 24);
this.btnCancel.TabIndex = 3;
this.btnCancel.Text = "Cancel";
this.btnCancel.UseVisualStyleBackColor = false;
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
//
// cbOffline
//
this.cbOffline.Checked = true;
this.cbOffline.CheckState = System.Windows.Forms.CheckState.Checked;
this.cbOffline.Location = new System.Drawing.Point(13, 200);
this.cbOffline.Name = "cbOffline";
this.cbOffline.Size = new System.Drawing.Size(352, 24);
this.cbOffline.TabIndex = 10;
this.cbOffline.Text = "Use offline data. (do not actually connect to the web service)";
//
// btnExportPdf
//
this.btnExportPdf.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnExportPdf.BackColor = System.Drawing.Color.SteelBlue;
this.btnExportPdf.ForeColor = System.Drawing.Color.White;
this.btnExportPdf.Location = new System.Drawing.Point(144, 258);
this.btnExportPdf.Name = "btnExportPdf";
this.btnExportPdf.Size = new System.Drawing.Size(112, 24);
this.btnExportPdf.TabIndex = 11;
this.btnExportPdf.Text = "Export to Pdf";
this.btnExportPdf.UseVisualStyleBackColor = false;
this.btnExportPdf.Click += new System.EventHandler(this.btnExportPdf_Click);
//
// saveFileDialogPdf
//
this.saveFileDialogPdf.Filter = "Pdf Files|*.pdf";
this.saveFileDialogPdf.RestoreDirectory = true;
//
// edCity
//
this.edCity.Location = new System.Drawing.Point(157, 160);
this.edCity.Name = "edCity";
this.edCity.Size = new System.Drawing.Size(208, 20);
this.edCity.TabIndex = 12;
this.edCity.Text = "london";
//
// labelCity
//
this.labelCity.Location = new System.Drawing.Point(5, 152);
this.labelCity.Name = "labelCity";
this.labelCity.Size = new System.Drawing.Size(144, 40);
this.labelCity.TabIndex = 13;
this.labelCity.Text = "City Name: (try things like tokio, sydney, new york, madrid, rio de janeiro)";
//
// label1
//
this.label1.Font = new System.Drawing.Font("Times New Roman", 10.25F, System.Drawing.FontStyle.Italic);
this.label1.Location = new System.Drawing.Point(13, 88);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(352, 32);
this.label1.TabIndex = 14;
this.label1.Text = "This application uses Yahoo Travel APIs to load demo trips and export them to Exc" +
"el. For more information, visit:";
//
// linkLabel1
//
this.linkLabel1.Location = new System.Drawing.Point(13, 128);
this.linkLabel1.Name = "linkLabel1";
this.linkLabel1.Size = new System.Drawing.Size(320, 16);
this.linkLabel1.TabIndex = 15;
this.linkLabel1.TabStop = true;
this.linkLabel1.Text = "http://developer.yahoo.com/travel/";
this.linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked);
//
// panel1
//
this.panel1.BackColor = System.Drawing.Color.LightGoldenrodYellow;
this.panel1.Controls.Add(this.label2);
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(416, 69);
this.panel1.TabIndex = 16;
//
// label2
//
this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label2.Location = new System.Drawing.Point(12, 9);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(392, 49);
this.label2.TabIndex = 0;
this.label2.Text = "IMPORTANT: Yahoo has discontinued this service, so this demo will only work with " +
"offline data. As the online functionality isn\'t essential to this demo, we have " +
"decided to keep it.";
//
// mainForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(416, 292);
this.Controls.Add(this.panel1);
this.Controls.Add(this.linkLabel1);
this.Controls.Add(this.label1);
this.Controls.Add(this.labelCity);
this.Controls.Add(this.edCity);
this.Controls.Add(this.btnExportPdf);
this.Controls.Add(this.cbOffline);
this.Controls.Add(this.btnCancel);
this.Controls.Add(this.btnExportXls);
this.Name = "mainForm";
this.Text = "Using HTML formatted text with FlexCel";
this.panel1.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button btnCancel;
private System.Windows.Forms.CheckBox cbOffline;
private System.Windows.Forms.Button btnExportXls;
private System.Windows.Forms.Button btnExportPdf;
private System.Windows.Forms.SaveFileDialog saveFileDialogXls;
private System.Windows.Forms.SaveFileDialog saveFileDialogPdf;
private System.Windows.Forms.TextBox edCity;
private System.Windows.Forms.Label labelCity;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.LinkLabel linkLabel1;
private Panel panel1;
private Label label2;
}
}
Program.cs
using System;
using System.Windows.Forms;
namespace HTML
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new mainForm());
}
}
}
ProgressDialog.cs
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Threading;
using FlexCel.Render;
namespace HTML
{
/// <summary>
/// A dialog box to show progress.
/// </summary>
public partial class ProgressDialog: System.Windows.Forms.Form
{
private System.Timers.Timer timer1;
public ProgressDialog()
{
InitializeComponent();
}
private DateTime StartTime;
private Thread RunningThread;
private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
UpdateStatus();
}
public void ShowProgress(Thread aRunningThread)
{
RunningThread = aRunningThread;
if (!RunningThread.IsAlive) { DialogResult = DialogResult.OK; return; }
timer1.Enabled = true;
StartTime = DateTime.Now;
ShowDialog();
}
private void UpdateStatus()
{
TimeSpan ts = DateTime.Now - StartTime;
string hours;
if (ts.Hours == 0) hours = ""; else hours = ts.Hours.ToString("00") + ":";
statusBarPanelTime.Text = hours + ts.Minutes.ToString("00") + ":" + ts.Seconds.ToString("00");
if (!RunningThread.IsAlive) DialogResult = DialogResult.OK;
}
private void ProgressDialog_Closed(object sender, System.EventArgs e)
{
timer1.Enabled = false;
}
}
}
ProgressDialog.Designer.cs
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Threading;
using FlexCel.Render;
namespace HTML
{
public partial class ProgressDialog: System.Windows.Forms.Form
{
private System.Windows.Forms.StatusBar statusBar1;
private System.Windows.Forms.StatusBarPanel statusBarPanel1;
private System.Windows.Forms.StatusBarPanel statusBarPanelTime;
private System.Windows.Forms.Label labelCaption;
private System.Windows.Forms.PictureBox pictureBox1;
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose(bool disposing)
{
if (disposing)
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(ProgressDialog));
this.statusBar1 = new System.Windows.Forms.StatusBar();
this.statusBarPanel1 = new System.Windows.Forms.StatusBarPanel();
this.statusBarPanelTime = new System.Windows.Forms.StatusBarPanel();
this.labelCaption = new System.Windows.Forms.Label();
this.timer1 = new System.Timers.Timer();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
((System.ComponentModel.ISupportInitialize)(this.statusBarPanel1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.statusBarPanelTime)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.timer1)).BeginInit();
this.SuspendLayout();
//
// statusBar1
//
this.statusBar1.Location = new System.Drawing.Point(0, 128);
this.statusBar1.Name = "statusBar1";
this.statusBar1.Panels.AddRange(new System.Windows.Forms.StatusBarPanel[] {
this.statusBarPanel1,
this.statusBarPanelTime});
this.statusBar1.ShowPanels = true;
this.statusBar1.Size = new System.Drawing.Size(448, 22);
this.statusBar1.TabIndex = 1;
//
// statusBarPanel1
//
this.statusBarPanel1.BorderStyle = System.Windows.Forms.StatusBarPanelBorderStyle.None;
this.statusBarPanel1.Text = "Elapsed Time:";
this.statusBarPanel1.Width = 80;
//
// statusBarPanelTime
//
this.statusBarPanelTime.BorderStyle = System.Windows.Forms.StatusBarPanelBorderStyle.None;
this.statusBarPanelTime.Text = "0:00";
//
// labelCaption
//
this.labelCaption.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.labelCaption.Location = new System.Drawing.Point(16, 16);
this.labelCaption.Name = "labelCaption";
this.labelCaption.Size = new System.Drawing.Size(408, 16);
this.labelCaption.TabIndex = 2;
this.labelCaption.Text = "Retrieving data from Webservice...";
//
// timer1
//
this.timer1.Enabled = true;
this.timer1.SynchronizingObject = this;
this.timer1.Elapsed += new System.Timers.ElapsedEventHandler(this.timer1_Elapsed);
//
// pictureBox1
//
this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
this.pictureBox1.Location = new System.Drawing.Point(64, 40);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(296, 64);
this.pictureBox1.TabIndex = 3;
this.pictureBox1.TabStop = false;
//
// ProgressDialog
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(448, 150);
this.ControlBox = false;
this.Controls.Add(this.pictureBox1);
this.Controls.Add(this.labelCaption);
this.Controls.Add(this.statusBar1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "ProgressDialog";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Please wait...";
this.Closed += new System.EventHandler(this.ProgressDialog_Closed);
((System.ComponentModel.ISupportInitialize)(this.statusBarPanel1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.statusBarPanelTime)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.timer1)).EndInit();
this.ResumeLayout(false);
}
#endregion
}
}