Hirdetés
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- sidi: 386-os Chicony gázplazma laptop memóriabővítése
- tordaitibi: Windows rendszerek indítása EFI partíció nélkül
- Brogyi: CTEK akkumulátor töltő és másolatai
- gban: Ingyen kellene, de tegnapra
- eBay-es kütyük kis pénzért
- potyautas: Idővándor
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- mefistofeles: A furcsa hobbi.....
Új hozzászólás Aktív témák
-
Karma
félisten
válasz
trisztan94 #5579 üzenetére
Gondoltam segítek még egy lépéssel, mert odáig szép és jó, hogy összeraksz egy Gridet, azt is kezelni kéne, hogy melyik gombot nyomtad meg.
Lásd a következő kódot. A foreach ciklusban van a UI létrehozás, a körülötte egy async wrapper, illetve a legvégén másik metódusban példa, hogy hogyan lehet ezt használni.
public Task<int> ShowMultiButtonMessageBox(string caption, string message, IList<string> buttonContent)
{
var i = 0;
var tcs = new TaskCompletionSource<int>();
var grid = new Grid { Margin = new Thickness(0,24,12,0)};
var msgBox = new CustomMessageBox
{
Caption = caption,
Message = message,
Content = grid
};
foreach (var button in buttonContent.Select(content => new Button {Content = content}))
{
var index = i;
grid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star)});
grid.Children.Add(button);
Grid.SetColumn(button, i);
button.Click += (sender, args) =>
{
tcs.TrySetResult(index);
msgBox.Dismiss();
};
i++;
}
msgBox.Dismissed += (sender, args) => tcs.TrySetResult(-1);
msgBox.Show();
return tcs.Task;
}
private async void OnTestButtonClicked(object sender, RoutedEventArgs e)
{
var i = await ShowMultiButtonMessageBox("Test", "Press a button!", new[] {"Hello", "Szia", "Mizu"});
MessageBox.Show(string.Format("Valasz: {0}", i));
}
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Parfüm topik
- Windows 11
- OLED TV topic
- Újjáéled a Motorola Moto G100
- One otthoni szolgáltatások (TV, internet, telefon)
- Újjászületés: szombattól új szerverkörnyezetben a PROHARDVER! lapcsalád
- Házimozi haladó szinten
- Reklámblokkolók topikja
- PlayStation 5
- Anglia - élmények, tapasztalatok
- További aktív témák...
- BESZÁMÍTÁS! MSI B450 R7 5800X 32GB DDR4 1TB SSD RTX 3080 10GB ZALMAN S2 TG Cooler Master 700W
- Honor 90 512GB, Kártyafüggetlen, 1 Év Garanciával
- ÚJ HP ProBook 445 G11 - 14" WUXGA - Ryzen 5 7535U - 16GB - 256GB - MAGYAR - 2+ év garancia
- Bomba ár! Dell Latitude E5520 - i5-2520M I 4GB I 250GB I HDMI I 15,6" HD I Cam I W10 I Garancia!
- Honor 200 Lite 256GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest