Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
M6692
Člen
Avatar
M6692:15.8.2020 12:09

Ahojte
potreboval by som vedieť či sa dá urobiť nasledovné. Mám combobox s DropDownStyle=Drop­DownList. Po kliknutí na combobox sa má otvoriť oznámenie s možnosťou výberu :

  1. combobox sa štandardne otvorí ponúkne položky na výber s možnosťou výberu položky

alebo

  1. combobox sa neotvorí, neponúkne položky na výber (hodnota combobox.Text ak bola v predchádzajúcom výbere načítaná má byť zachovaná)

Zkusil jsem: Zatiaľ sa mi nepodarilo nájsť kde by sa riešilo takéto niečo

Chci docílit: Ďakujem

 
Odpovědět
15.8.2020 12:09
Avatar
Tadeáš Burda
Brigádník
Avatar
Odpovídá na M6692
Tadeáš Burda :15.8.2020 12:18

Ahoj, ak ťa chápem správne tak stačí zachytiť event kliknutia na combobox a zobraziť to oznámenie. Vo WPF je nato tuším event rovno pre element, niečo ako MouseClick. Srry ak ťa nechápem

 
Nahoru Odpovědět
15.8.2020 12:18
Avatar
Tadeáš Burda
Brigádník
Avatar
Odpovídá na M6692
Tadeáš Burda :15.8.2020 12:21

Tak je to ComboBox.OnMou­seLeftButtonDown

 
Nahoru Odpovědět
15.8.2020 12:21
Avatar
M6692
Člen
Avatar
M6692:15.8.2020 18:14

Ahoj, ďakujem za odpoveď, niečo podobné som skúšal, len problém je v tom, že pri kliknutí na combobox najskôr sa mi najskôr rozbalí combomenu, okamžite sa zatvorí a vykoná sa event MouseDown.

 
Nahoru Odpovědět
15.8.2020 18:14
Avatar
Tadeáš Burda
Brigádník
Avatar
Odpovídá na M6692
Tadeáš Burda :15.8.2020 18:19

A keby po vyvolaní eventu ako prve skrieš to menu a potom zobraziš ten dialóg? Možno by to bolo tak rýchle ze to user ani nepostrehne. Alebo po najeti myšu na box ho zablokuj a po kliknutí zobraz dialog. Ak user vyberie možnosť zobrazit tak ho zobraz.

 
Nahoru Odpovědět
15.8.2020 18:19
Avatar
M6692
Člen
Avatar
M6692:15.8.2020 20:47

Ahoj, skúšal som všetko možné no zatiaľ nič nefunguje tak ako si predstavujem. Pri tej prvej možnosti to prebliknutie položiek comboboxu je viditeľné pomerne dosť, nakoľko mám viac položiek na výber. Aj ten druhý spôsob som skúšal, no potom ako prejdem myšou ponad combobox a zakážem ho už kliknutím naň sa nedá späť obnoviť. Skúšal som ešte všeličo iné no zatiaľ nič.

Editováno 15.8.2020 20:48
 
Nahoru Odpovědět
15.8.2020 20:47
Avatar
Tadeáš Burda
Brigádník
Avatar
Odpovídá na M6692
Tadeáš Burda :16.8.2020 11:33

A prečo potrebuješ zrovna toto urobiť? Možno by sa dalo aj inak riešiť tvoj problém

 
Nahoru Odpovědět
16.8.2020 11:33
Avatar
M6692
Člen
Avatar
M6692:16.8.2020 13:57

Ahoj, na hodnoty ktoré sa vyberajú v comboboxe mám naviazané iné vzťahy.Preto pri kliknutí chcem upozorniť na ne a vybrať voľbu možnosti pokračovať vo výbere novej hodnoty z combo zoznamu alebo nepokračovať vo výbere.

 
Nahoru Odpovědět
16.8.2020 13:57
Avatar
Tadeáš Burda
Brigádník
Avatar
Odpovídá na M6692
Tadeáš Burda :16.8.2020 14:45

Aha, no tak neviem potom nic ma nenapada uz, sorry

 
Nahoru Odpovědět
16.8.2020 14:45
Avatar
JerryM
Člen
Avatar
JerryM:16.8.2020 19:34

vubec nechápu co chceš ale těch událostí na registraci před tím než se combo otevře a když se otevře a když se uzavře je tam dost ... taky mužeš použít combo.emabled = false

 
Nahoru Odpovědět
16.8.2020 19:34
Avatar
M6692
Člen
Avatar
M6692:16.8.2020 20:34

Pokúsim sa to vysvetliť možno zrozumiteľnejšie a jednoduchšie. Potrebujem aby po kliknutí na comcobox sa otvoril messagebox YES/NO kde si viem vybrať, klasicky spustiť combobox, alebo opustiť combobox(nezo­brazovať ponuku). Áno je tam pre combobox množstvo events, no zatiaľ som nenašiel spôsob akým to urobiť.

 
Nahoru Odpovědět
16.8.2020 20:34
Avatar
Miroslav Holubek:18.8.2020 14:21

a skúšal si dať Focus inej kontrolke? Tým by sa mala ponuka comboboxu zatvoriť

 
Nahoru Odpovědět
18.8.2020 14:21
Avatar
JerryM
Člen
Avatar
JerryM:19.8.2020 9:40

aha už sem konečně pochopil co chceš ... takže ve C# WinForms je to takhle

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace CBB
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            this.comboBox1.SelectedIndex = 0;
            this.comboBox1.DroppedDown = false;

        }// public Form1()

        private void comboBox1_Click(object sender, EventArgs e)
        {
            DialogResult dr = MessageBox.Show("Rozbalit: ano/ne ?","Combobox", MessageBoxButtons.YesNo);

            if ( dr == DialogResult.Yes )
            {
                this.comboBox1.DroppedDown = true;
            }
            else
            {
                this.comboBox1.DroppedDown = false;
            }// if else

        }// private void comboBox1_Click(object sender, EventArgs e)

    }// public partial class Form1 : Form

}// namespace CBB
 
Nahoru Odpovědět
19.8.2020 9:40
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 13 zpráv z 13.