Avatar billede Jim Rasmussen Novice
11. juli 2011 - 12:22 Der er 2 kommentarer og
1 løsning

WPF custom confirm window

Hey.

Har tænkt mig at lave en Messagebox der er lidt pænere end den som er standart i wpf.

Men mangler lidt hjælp til at få det til at fungere (:


Her er selve den kontrol som indeholder boksen

public partial class Confirm : UserControl
    {
        public bool Confirm(string Head, string Text)
        {
            InitializeComponent();

            return true;
        }

        private void btnCuntinue_Click(object sender, RoutedEventArgs e)
        {
        }

        private void btnCancel_Click(object sender, RoutedEventArgs e)
        {
        }
    }


Men det jeg ikke lige kan gennemskue, er hvordan jeg skal få den til at returnere henholdsvis true eller false, alt efter hvilken knap man klikker på (Cuntinue eller Cancel). Lige nu vil den jo bare altid returnere true.


Måden jeg vil bruge den på er således

bool doIt;
doIt = Confirm c = new Confirm();

if(doIt == true)
{
    //Kør funktionalitet
}
else
{
    //Gør intet
}


Er jeg på rette spor? (: Og i så fald. Hvordan får jeg lige løst det med selve Cuntinue kontrollen
Avatar billede paro Nybegynder
12. juli 2011 - 10:04 #1
Jeg tror du skal starte sådan her:

public class MyMessageBox : MessageBox
static MyMessageBox newMessageBox;
static string Button_id;

public static string ShowBox(string txtMessage)
{
newMessageBox = new MyMessageBox();
newMessageBox.label1.Text = txtMessage;
newMessageBox.ShowDialog();
return Button_id;
}

public static string ShowBox(string txtMessage, string txtTitle)
{
newMessageBox = new MyMessageBox();
newMessageBox.label1.Text = txtMessage;
newMessageBox.Text = txtTitle;
newMessageBox.ShowDialog();
return Button_id;
}

private void btnOk_Click(object sender, EventArgs e)
{
Button_id = "1";
newMessageBox.Dispose();
}

private void btnCancel_Click(object sender, EventArgs e)
{
newMessageBox.Dispose();
Button_id = "2";
}

og så bruge den sådan her:

string btnClicked = MyMessageBox.ShowBox("Do you want to exit");

if (btnClicked == "1")
{
//Kør funktionalitet
}
else
{
//Gør intet
}
Avatar billede bvli Praktikant
12. juli 2011 - 18:22 #2
Hej.

Har du overvejet, at du kan "style" din dialogbox som du vil? Prøv først at checke denne artikel: http://msdn.microsoft.com/en-us/library/aa969773.aspx#Y551

Om ikke andet kan du få noget inspiration til hvordan du vil implementere den selv, hvis du stadig insisterer. :) (Brug f.eks. MessageBoxResult som returværdi)
Avatar billede Jim Rasmussen Novice
13. juli 2011 - 12:57 #3
Hej. undskyld ulejligheden. :P

Men dropper det, da det nok er smartest at lade en boks som denne forblive som de fleste brugere kender dem (:
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester