Hi,
I have 5 appointments in a day. The appointments are displayed on different ultradesktopalert window.
All the 5 windows are appearing one upon another at the Right hand bottom corner there by if i miss to note one appointment the new window hides the old one.
I need all the 5 window to appear one above the another. can i achieve it . Please guide me.
Thanks in advance.
M.Thillai,
Try setting the UltraDesktopAlert's MultipleWindowDisplayStyle property to Tiled.
~Kim~
Even I have a similar kind of requirement.
Though i set the
.MultipleWindowDisplayStyle =
MultipleWindowDisplayStyle.Tiled
for some reason the alerts still overlap.
Do you have any other alternate solution ?
Hi vj,
for me it works perfectly .
Check your logic for time checking the alert timings. Are you using the array or database.
MultipleWindowDisplayStyle = MultipleWindowDisplayStyle.Tiled
Sorry I forgot to mention that I am using more than one UltraDeskTopAlert control, I need to show the alerts in different back colors for different conditions, using a single UltraDeskTopAlert does change the back color and stacks the alerts, but the issue is that on mouse over the back color is not retained. I read about a suggestion to use more than one UltraDeskTopAlert to retain the color. Now using multiple UltraDeskTopAlert controls i am able to retain the back color but the issue is that it overlaps the alerts one behind the other. I am not able to display them in a stacking order.
Do any one have a suggestion to fix this ?
Hello Vj_g what you have said is correct. But i haven't tried multiple creation of desktopalert windows before.Sorry , i couldn't help you.If you found the answer please provide the solution in the thread.
Friendly,
M.NatarajaN
Hello,
You can have different color alerts from a single WinDeskTopAlert by using a draw filter. The following code shows an example of this:
public partial class Form1 : Form{ public Form1() { InitializeComponent(); Button b = new Button(); b.Click += new EventHandler(b_Click); b.Text = "Click Me"; b.Dock = DockStyle.Fill; this.Controls.Add(b); } void b_Click(object sender, EventArgs e) { this.DemonstrateAlertsWithColors(); } private void DemonstrateAlertsWithColors() { UltraDesktopAlert alert = new UltraDesktopAlert(); alert.Appearance.BackColor = Color.Green; alert.DrawFilter = new DesktopAlertColorDrawFilter(); alert.MultipleWindowDisplayStyle = MultipleWindowDisplayStyle.Tiled; UltraDesktopAlertShowWindowInfo info; info = new UltraDesktopAlertShowWindowInfo("Message One", "Message One"); info.Data = Color.Red; alert.Show(info); info = new UltraDesktopAlertShowWindowInfo("Message Two", "Message Two"); info.Data = Color.Blue; alert.Show(info); info = new UltraDesktopAlertShowWindowInfo("Message Three", "Message Three"); alert.Show(info); }}public class DesktopAlertColorDrawFilter : IUIElementDrawFilter{ #region IUIElementDrawFilter Members public bool DrawElement(DrawPhase drawPhase, ref UIElementDrawParams drawParams) { WindowClientAreaUIElement element = drawParams.Element as WindowClientAreaUIElement; if (element != null && element.WindowInfo.Data is Color) { drawParams.AppearanceData.BackColor = (Color)element.WindowInfo.Data; } return false; } public DrawPhase GetPhasesToFilter(ref UIElementDrawParams drawParams) { if (drawParams.Element is WindowClientAreaUIElement) return DrawPhase.BeforeDrawElement; return DrawPhase.None; } #endregion}
Alan