NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
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í.

Diskuze: c# form - zakázání označování textu v komponentě textBox

V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Michaal.K
Člen
Avatar
Michaal.K:3.2.2017 8:42

Ahoj,
chtěl jsem se zeptat jestli nějak jde u textBoxu zakázak označování textu. Vím, že mohu nastavit enabled na false, ale to mi zašedne písmo a nejde rolovat se ScrollBarem. Zkoušel jsem to přes události viz kód níže:

private void textBox1_MouseUp(object sender, MouseEventArgs e)
{
    textBox1.SelectionLength = 0;
}

private void textBox1_MouseMove(object sender, MouseEventArgs e)
{
    textBox1.SelectionLength = 0;
}

ale pořád tam nachvíli problikne označení a to se mi nelíbí :-) Existuje nějaká jiná možnost?
Díky za rady a pomoc.

 
Odpovědět
3.2.2017 8:42
Avatar
Erik Šťastný:3.2.2017 9:08

Zkus použít

SelectionChanged

event a ne Mouse eventy.

Pokud ani to nepomůže tak bych zkusil RichTextBox, kde ho můžeš dát disabled, a pak dát písmo zase na černé.

Editováno 3.2.2017 9:09
 
Nahoru Odpovědět
3.2.2017 9:08
Avatar
Michaal.K
Člen
Avatar
Odpovídá na Erik Šťastný
Michaal.K:3.2.2017 9:24

Ahoj. Díky za info. Mohl bys to lépe popsat?? SelectionChanged je event přímo textBoxu? Nikde ho nemohu najít. Díky

 
Nahoru Odpovědět
3.2.2017 9:24
Avatar
Odpovídá na Michaal.K
Erik Šťastný:3.2.2017 9:30

Ano přímo event textboxu :) viz. MSDN Aspoň teda pro WPF.

Pokud používáš WinForms, tak tam opravdu takový event taky nevidím a použil bych ten RichTextBox, který tam již tenhle event má viz. MSDN

Editováno 3.2.2017 9:32
 
Nahoru Odpovědět
3.2.2017 9:30
Avatar
Michaal.K
Člen
Avatar
Odpovídá na Erik Šťastný
Michaal.K:3.2.2017 9:57

Tak jsem zkusil ten richtextbox a event SelectionChanged a stejně tam občas problikne to označení :-( Nenapadá tě ještě jiná možnost? Nebo se holt budu muset spokojit s občasným probliknutím. Díky

 
Nahoru Odpovědět
3.2.2017 9:57
Avatar
Odpovídá na Michaal.K
Erik Šťastný:3.2.2017 10:16

No, pokud to nepůjde nějakou jednoduchou vlastností, tak to určitě půjde tak, že nějak předefinuješ metodu klikání v tom textboxu, tak že tydle události ani nenastanou. Ale to už je nad mé schopnosti :)

 
Nahoru Odpovědět
3.2.2017 10:16
Avatar
Michaal.K
Člen
Avatar
Odpovídá na Erik Šťastný
Michaal.K:3.2.2017 12:28

No tak to už je taky mimo moje schopnosti :-) Tak to asi budu muset nechat tak jak to je. Díky za info a pomoc.

 
Nahoru Odpovědět
3.2.2017 12:28
Avatar
Odpovídá na Michaal.K
Erik Šťastný:3.2.2017 12:33

Třeba se tu někdo ozve, je tu spousta dobrých .NETářů :)

 
Nahoru Odpovědět
3.2.2017 12:33
Avatar
Karel Šilinger:3.2.2017 14:03

Čau, nevím jestli ti to pomůže, ale jednou jsem to potřeboval u jednoho políčka a obečel jsem to tak, pokud si dobře vzpomínám, že jsem místo textBox použil textBlock a tam už je nějaká vlastnost (teď si nevybavuji která), jíž zakážeš čtení.

 
Nahoru Odpovědět
3.2.2017 14:03
Avatar
D0ll0k
Člen
Avatar
D0ll0k:3.2.2017 17:48

A chceš do toho textboxu psát? Pokud ano, tak ti asi nejlepší řešení je s RichTextBoxem a SelectionChanged eventem, pokud ale ne, můžeš si vytvořit svoji vlastní kontrolku, kde budeš mít panel s Dock na Fill, AutoScroll na true a label. Labelu v kostruktoru kontrolky nastavíš maximální šířku na šířku controlky/panelu mínus šířka Scrollu (myslím, že to je 10px, ale nejsem si úplně jistý, to budeš muset odzkoušet sám).

Nezapomeň, že pokaždé kdy budeš měnit styl kontrolky, budeš muset projekt rebuildnout, jinak ti bude visual studio házet erory.

Nahoru Odpovědět
3.2.2017 17:48
Veni, vidi, programmato
Avatar
Odpovídá na Michaal.K
Jiří Hlaváček:5.2.2017 20:36

Ještě zkus změnit barvu výběru na barvu pozadí. Mně to pak neproblikává.

private void richTextBox1_SelectionChanged(object sender, EventArgs e)
        {
            richTextBox1.SelectionBackColor = richTextBox1.BackColor;
            richTextBox1.Select(richTextBox1.SelectionStart, 0);
        }
 
Nahoru Odpovědět
5.2.2017 20:36
Avatar
Michaal.K
Člen
Avatar
Odpovídá na Jiří Hlaváček
Michaal.K:6.2.2017 15:16

Tak nevím co dělám špatně, ale když se snažím v richtextboxu označit text stejně mi tam občas problikne světle modré označení textu...
Díky

 
Nahoru Odpovědět
6.2.2017 15:16
Avatar
Odpovídá na Michaal.K
Jiří Hlaváček:6.2.2017 17:01

A při označování myší, klávesnicí nebo oboje?

 
Nahoru Odpovědět
6.2.2017 17:01
Avatar
Michaal.K
Člen
Avatar
Odpovídá na Jiří Hlaváček
Michaal.K:6.2.2017 20:42

Tak mi to dělá jen při označování myší na klávesnici je to vpoho.

 
Nahoru Odpovědět
6.2.2017 20:42
Avatar
Michaal.K
Člen
Avatar
Odpovídá na D0ll0k
Michaal.K:8.2.2017 11:06

Ahoj, psát do něj nepotřebuji. Zkusil jsem si vytvořit vlastní kontrolku jak jsi psal. Vložil jsem panel a do něj label. Panelu jsem nastavil autoscroll na true. Labelu jsem dal autosize na true a nastavil jsem minimum size (kde jsem odečetl scroll). Pokud teď vložím do labelu text, který se mi vejde na šířku labelu a obsahuje enter viz. obr horní obrázek. Tak to funguje dobře a text se roluje.
Pokud ale vložím dlouhý text který je bez enteru, tak se mi objeví horizontální scroll viz obr dolní obrázek a to nechci. Chci aby se objevoval vždy jen vertikální scroll a text to automaticky odřádkovávalo (tak jak to je u normálního labelu).
Ještě jsem se chtěl zeptat lze nějak zobrazit scroll natrvalo, aby když je prázdný label byl zobrazen?
Díky

Editováno 8.2.2017 11:07
 
Nahoru Odpovědět
8.2.2017 11:06
Avatar
HONZ4
Člen
Avatar
Odpovídá na Michaal.K
HONZ4:8.2.2017 19:40

pokud se spokojíš s laickým řešením:

public Form1()
{
    InitializeComponent();
    //do panelu pane1 jsem vložil na pozici 0 0 label label1
    label1.AutoSize = true;
    UpdateSize();
}

private void UpdateSize()
{
    panel1.AutoScroll = false;
    Size maxsize = label1.MaximumSize;
    maxsize.Width = panel1.Width - 2 - SystemInformation.VerticalScrollBarWidth;
    label1.MaximumSize = maxsize;

    Size ss = panel1.AutoScrollMinSize;
    ss.Height = panel1.Height - 1;
    panel1.AutoScrollMinSize = ss;
    panel1.AutoScroll = true;
}

private void panel1_SizeChanged(object sender, EventArgs e)
{
    UpdateSize();
}

private void label1_TextChanged(object sender, EventArgs e)
{
    UpdateSize();
}

někdy tam může problikávat horizontální scrollbar. Lepší, ale složitější řešení by bylo napsat vlastní kontrolku a v ní vše vychytat nebo ten text kreslit graficky a nebo použít WPF.

Mimochodem proč ti vadí, že text může někdo označit?

 
Nahoru Odpovědět
8.2.2017 19:40
Avatar
D0ll0k
Člen
Avatar
Odpovídá na Michaal.K
D0ll0k:8.2.2017 21:02

Aby se label neroztáhnul přes šířku kontrolky, musíš mu nastavit maximální ne minimální šířku mínus scroll. A s těmy scrolly, na to se ještě musim podívat, tam to je trochu složitější. Momentálně jsem trochu zaneprázdněný tak mi to chvilku zabere.

Editováno 8.2.2017 21:03
Nahoru Odpovědět
8.2.2017 21:02
Veni, vidi, programmato
Avatar
D0ll0k
Člen
Avatar
Odpovídá na Michaal.K
D0ll0k:9.2.2017 22:49

Tak jsem konečně přišel na to, jak nechat scroll viditelný, ikdyž bude label prázdný. S panelem a AutoScrollem nastaveným na true to nepůjde. Hledal jsem na netu a nenašel jsem žádné vhodné a jednoduché vysvětlení. Budeš muset vyměnit panel za VerticalScrollBar. V konstruktoru kontrolky mu nastavíš

vScrollBar1.Maximum = label1.Height; // do maximálního rozsahu mu vložíš výšku labelu
vScrollBar1.LargeChange = Height; // a do LargeChange výšku kontrolky

pak odchytíš event VerticalScrollBar­.Scroll, kde budeš posouvat labelem:

private void vScrollBar1_Scroll(object sender, ScrollEventArgs e)
{
        label1.Location = new Point(label1.Location.X, -e.NewValue);
}
Nahoru Odpovědět
9.2.2017 22:49
Veni, vidi, programmato
Avatar
Michaal.K
Člen
Avatar
Odpovídá na D0ll0k
Michaal.K:13.2.2017 10:14

Ahoj, tak pokud dám labelu maximální šířku mínus scroll, tak mi teď vůbec nefunguje scroll a ani se nezobrazí, viz. obr. Díky

 
Nahoru Odpovědět
13.2.2017 10:14
Avatar
D0ll0k
Člen
Avatar
Odpovídá na Michaal.K
D0ll0k:13.2.2017 11:43

A jak to máš teď udělané? S panelem nebo jenom se samotným scrollem? Nebo asi nejlepší bude, když sem hodíš zdroják.

Nahoru Odpovědět
13.2.2017 11:43
Veni, vidi, programmato
Avatar
Michaal.K
Člen
Avatar
Odpovídá na D0ll0k
Michaal.K:13.2.2017 12:41

Teď to mám udělaný s panelem a vněm label, kterému jsem ve vlastnostech nastavil maximální šířku mínus scroll. Ve zdrojáku formu skoro nic nemám všechny tyto vlastnosti jsem nastavil ve vlastnostech dané komponenty (label, panel).

 
Nahoru Odpovědět
13.2.2017 12:41
Avatar
HONZ4
Člen
Avatar
Odpovídá na Michaal.K
HONZ4:13.2.2017 17:51

Udělej to takto: dej si tam panel, do panelu hoď label na pozici 0;0, použij tento kód:

public Form1()
{
    InitializeComponent();
    //do panelu panel1 jsem vložil na pozici 0 0 label label1
    label1.AutoSize = true;
    panel1.Resize += UpdateSize;
    label1.TextChanged += UpdateSize;
    Load += UpdateSize;
}

private void UpdateSize(object sender, EventArgs e)
{
    Size maxsize = label1.MaximumSize;
    maxsize.Width = panel1.Width - 3 - SystemInformation.VerticalScrollBarWidth;
    label1.MaximumSize = maxsize;
    Size ss = panel1.AutoScrollMinSize;
    ss.Height = panel1.Height - 1;
    panel1.AutoScrollMinSize = ss;
}

v designeru nemusíš nic nastavovat.
Vyzkoušej to, třeba ti to bude stačit.

Editováno 13.2.2017 17:52
 
Nahoru Odpovědět
13.2.2017 17:51
Avatar
D0ll0k
Člen
Avatar
D0ll0k:13.2.2017 23:27

Vzhledem k tomu, že ti to blbne a že jsem zjistil, že druhá možnost se samotným scrollbarem úplně nefunguje jak má, tak jsem ji trochu vylepšil a teď by vše mělo jít správně. Tady je postup:

  • 1. Vytvoř si nový User Control
  • 2. Na pozici [0; 0] vlož label (budu zde používat jméno label1), odchytni si event TextChanged a vlož:
private void label1_TextChanged(object sender, EventArgs e)
{
        SetScrollBarPropts();
        vScrollBar1.PerformLayout(); // updatuje layout ve scrollu, kdyby jsi to tu nechal a stalo by se ti, ze scrollem dojedes az na konec dlouheho textu a pak zkratil text nebo ho smazal, label zustane v predchozi poloze
        UpdateLabelLocation();
}
  • 3. Vlož VScrollBar, dej ho úplně doprava, nastav mu Dock na Right, odchytni si Scroll event a vlož:
private void vScrollBar1_Scroll(object sender, ScrollEventArgs e)
{
        UpdateLabelLocation();
}
  • 4. Vytvoř si novou metodu SetScrollBarPropts:
private void SetScrollBarPropts()
{
        vScrollBar1.Maximum = label1.Height;
        vScrollBar1.LargeChange = Height;
}
  • 5. Vytvoř si další metodu SetLabelPropts:
private void SetLabelPropts()
{
        Size maxSize = new Size();
        maxSize.Width = Width - vScrollBar1.Width;

        label1.MaximumSize = maxSize;
}
  • 6. A ještě jednu
private void UpdateLabelLocation()
{
        label1.Location = new Point(label1.Location.X, -vScrollBar1.Value);
}
  • 7. Odchyť si event Load na UserControlu a zavolej v něm SetLabelPropts a SetScrollBarPropts
  • 8. Vytvoř si vlastnost Text, která bude nastavovat a vracet text z labelu:
public override string Text
{
        get
        {
                return label1.Text;
        }
        set
        {
                label1.Text = value;
        }
}

A je to. Snad jsem na nic nezapomněl, kdyby ti něco nefungovalo, napiš.

Nahoru Odpovědět
13.2.2017 23:27
Veni, vidi, programmato
Avatar
Luboš Běhounek Satik:14.2.2017 10:47

Je nějaký důvod, proč nepoužít rovnou label?

Nahoru Odpovědět
14.2.2017 10:47
https://www.facebook.com/peasantsandcastles/
Avatar
Michaal.K
Člen
Avatar
Odpovídá na Luboš Běhounek Satik
Michaal.K:14.2.2017 11:27

Ahoj, label bych rád použil, ale potřebuji abych tam měl vertikální scroll. Protože ten label může mít maximální velikost, ale vložený text do něj může být delší. Tak aby mohl uživatel rolovat. A chtěl bych tam mít scroll trvale zobrazen :-)

 
Nahoru Odpovědět
14.2.2017 11:27
Avatar
Odpovídá na Michaal.K
Luboš Běhounek Satik:14.2.2017 12:16

label v panelu

Nahoru Odpovědět
14.2.2017 12:16
https://www.facebook.com/peasantsandcastles/
Avatar
Michaal.K
Člen
Avatar
Odpovídá na Luboš Běhounek Satik
Michaal.K:14.2.2017 12:32

To už mi poradil HONZ4 a D0ll0k, teď to akorát zkouším. Jen jsem zjistil, že scroll není na trvalo zobrazen...

 
Nahoru Odpovědět
14.2.2017 12:32
Avatar
Odpovídá na Michaal.K
Luboš Běhounek Satik:14.2.2017 12:57

Vertical/Hori­zontalScroll.Vi­sible = true; u panelu

Editováno 14.2.2017 12:58
Nahoru Odpovědět
14.2.2017 12:57
https://www.facebook.com/peasantsandcastles/
Avatar
D0ll0k
Člen
Avatar
Odpovídá na Luboš Běhounek Satik
D0ll0k:14.2.2017 13:05

To právěže nefunguje, proto jsem nahoře napsal postup jak si vytvořit kontrolku, kde ten scrollbar bude vždy viditelný

Nahoru Odpovědět
14.2.2017 13:05
Veni, vidi, programmato
Avatar
Odpovídá na D0ll0k
Luboš Běhounek Satik:14.2.2017 13:16

Něco asi dělám blbě, ale mě to normálně funguje, jen stačí panelu nastavit autoscroll na true :)

Nahoru Odpovědět
14.2.2017 13:16
https://www.facebook.com/peasantsandcastles/
Avatar
D0ll0k
Člen
Avatar
Odpovídá na Luboš Běhounek Satik
D0ll0k:14.2.2017 13:20

Opravdu? A kde to nastavuješ v konstruktoru? A máš ten label prázdný nebo aspoň krátký na tolik aby nebyl vyšší než panel?

Editováno 14.2.2017 13:21
Nahoru Odpovědět
14.2.2017 13:20
Veni, vidi, programmato
Avatar
Luboš Běhounek Satik:14.2.2017 13:22

Na formu mám hozenej panel, na něm label, u panelu autoscroll v designeru na True a pak všechno volám v onload

private void Form1_Load(object sender, EventArgs e)
        {
            panel1.HorizontalScroll.Visible = true;
            panel1.VerticalScroll.Visible = true;

            var r = new Random();

            string str = "";

            for (int j = 0; j < 20; j++)
            {
                for (int i = 0; i < 200; i++)
                {
                    str += (char)r.Next(32, 64);
                }
                str += Environment.NewLine;
            }

            label1.Text = str;
        }
Nahoru Odpovědět
14.2.2017 13:22
https://www.facebook.com/peasantsandcastles/
Avatar
Odpovídá na D0ll0k
Luboš Běhounek Satik:14.2.2017 13:25

hm, ono fakt ty scrollbary zmizej, když zkrátíš text

Každopádně k čemu tam jsou potřeba scrollbary, když ten text nebude tak dlouhej? :)

Nahoru Odpovědět
14.2.2017 13:25
https://www.facebook.com/peasantsandcastles/
Avatar
D0ll0k
Člen
Avatar
D0ll0k:14.2.2017 13:44

Ono když zkrátíš text na dva řádky tak se text zalomí jako kdyby tam ten scrollbar byl

Nahoru Odpovědět
14.2.2017 13:44
Veni, vidi, programmato
Avatar
HONZ4
Člen
Avatar
Odpovídá na Michaal.K
HONZ4:14.2.2017 16:35

v mém příkladu je scrollbar vždy viditelný
(pro jistotu smaž tvůj panel s labelem a vlož nový ať máš vše defaultní, a musí to fungovat)
Bude to pak vypadat jako na obrázku:
(d/t)

Editováno 14.2.2017 16:38
 
Nahoru Odpovědět
14.2.2017 16:35
Avatar
Odpovídá na Michaal.K
Erik Šťastný:15.2.2017 8:44

Můžu trošku prosím odbočit a zeptat se na jednu věc?

Proč vlastně chceš aby to nešlo označit? Právě naopak mi přijde zcela logické aby to označit šlo, uživatelé běžně chtějí kus dat zkopírovat do texťáku do emailu apod. Nevidím důvod proč jim to znemožňovat :)

 
Nahoru Odpovědět
15.2.2017 8:44
Avatar
Michaal.K
Člen
Avatar
Odpovídá na Erik Šťastný
Michaal.K:15.2.2017 10:41

Můžeš :-) V aplikaci používám několik formů a vtomto formu je to pouze zobrazovač s pevnou šířkou a výškou. Pokud uživatel klikne na tlačítko upravit otevře se nový form kde jsou textBoxy a tam uživatel upravuje text (může vkládat, mazat, kopírovat, ...)

 
Nahoru Odpovědět
15.2.2017 10:41
Avatar
Odpovídá na Michaal.K
Erik Šťastný:15.2.2017 10:43

No to je sice fajn, ale pořád to není důvod zakazovat aby si to někdo zkopíroval přímo bez toho aniž by musel lést do dalšího okna, ne? :)

 
Nahoru Odpovědět
15.2.2017 10:43
Avatar
Michaal.K
Člen
Avatar
Odpovídá na Erik Šťastný
Michaal.K:15.2.2017 11:05

No ale v tom formu co je jako zobrazovací mám jen labely (protože do ostatních se vkládá jen krátký text nebo přes comboBoxy předvolené nabíky) a z těch nejde kopírovat. Takže by vypadalo blbě pokud bych mohl kopírovat jen z jednoho prvku (a předělávát vše na textBoxy nechci). Navím mám speciální formulář pro editaci, takže v zobrazovacím formu nechci možnost kopírování textu.

 
Nahoru Odpovědět
15.2.2017 11:05
Avatar
Odpovídá na Michaal.K
Erik Šťastný:15.2.2017 11:08

Fajn no :) Já jen vím, že někdy jako uživatel právě nemám rád jak odněkud nemůžu něco zkopírovat :)

 
Nahoru Odpovědět
15.2.2017 11:08
Avatar
Michaal.K
Člen
Avatar
Odpovídá na HONZ4
Michaal.K:15.2.2017 12:47

Ahoj, tak nevím co dělám špatně. Založím nový projekt vložím panel a do něho label. Vložím kód co jsi napsal. Dále si vložím dvě tlačítka. Jedno tlačítko vloží do labelu dlouhý text (na několik řádek) a druhé tlačítko vloží do labelu krátký text (na jednu řádku). A když spustím aplikaci tak tam scroll není a když dám vložit dlouhý text tak se objeví, ale když dám krátký tak zase zmizí.
Zkoušel jsem dát do konstruktoru formu:

panel1.VerticalScroll.Visible = true;

tak se objeví scroll při spuštění, ale při vložení krátkého textu zase zmizí. Viz obrázek.
Jinak to funguje suprově...

 
Nahoru Odpovědět
15.2.2017 12:47
Avatar
D0ll0k
Člen
Avatar
Odpovídá na Michaal.K
D0ll0k:15.2.2017 13:11

Kvůli tomu mizení scrollu jsem nahoře napsal vlastní kontrolku, kde ten scroll bude VŽDY viditelný.

panel1.VerticalScroll.Visible = true;

Nefunguje.

Nahoru Odpovědět
15.2.2017 13:11
Veni, vidi, programmato
Avatar
HONZ4
Člen
Avatar
Odpovídá na Michaal.K
HONZ4:15.2.2017 15:34

tady máš ke stažení projekt, včetně aplikace u mě to funguje tak jak chceš..

(testováno na Windows 10 a Vista)

 
Nahoru Odpovědět
15.2.2017 15:34
Avatar
HONZ4
Člen
Avatar
HONZ4:15.2.2017 17:52

Mimochodem, možnost kopírování obsahu jakéhokoliv labelu je u .net (nevím od které verze, asi 2.0) výchozí, stačí poklepat na label.
Pokud je třeba kopírování zakázat, jde to např. odchycením zprávy doubleclick (0x0203).

 
Nahoru Odpovědět
15.2.2017 17:52
Avatar
D0ll0k
Člen
Avatar
Odpovídá na HONZ4
D0ll0k:15.2.2017 21:22

Nechci tě nějak shazovat, ale pokud vím, tak label nemůže dostat focus pouhým poklikáním viz: Label (úplně dole v poznámkách, druhý odstavec), tím pádem z něj nemůžeš nic kopírovat. Způsob jak na label dostat focus je:

label.Focus();

pak když na formu nastavíš KeyPreview na true a odchytíš KeyDown event, kde zkontroluješ, jestli jsi zmáčknul kombinaci CTRL+C, můžeš do Clipboardu uložit text z labelu a považovat to za kopírování.

Editováno 15.2.2017 21:23
Nahoru Odpovědět
15.2.2017 21:22
Veni, vidi, programmato
Avatar
HONZ4
Člen
Avatar
Odpovídá na D0ll0k
HONZ4:15.2.2017 21:36

zkusil sis to někdy?
Dej si na formulář label, spusť aplikaci, poklepej na label a zjisti co máš ve schránce.
(Platí to pro windows Vista a novější)

Editováno 15.2.2017 21:38
 
Nahoru Odpovědět
15.2.2017 21:36
Avatar
D0ll0k
Člen
Avatar
Odpovídá na HONZ4
D0ll0k:15.2.2017 21:56

Ajo, máš pravdu, pokud na to poklikám, dostane se to do schránky. Tak zbývá ještě možnost vykreslení textu nebo nastavení prázdného textu do schránky

Editováno 15.2.2017 21:58
Nahoru Odpovědět
15.2.2017 21:56
Veni, vidi, programmato
Avatar
D0ll0k
Člen
Avatar
Odpovídá na HONZ4
D0ll0k:15.2.2017 22:05

To mě štve. Proč to microsoft nepřidá do poznámek?

Nahoru Odpovědět
15.2.2017 22:05
Veni, vidi, programmato
Avatar
HONZ4
Člen
Avatar
Odpovídá na D0ll0k
HONZ4:15.2.2017 22:12

Hlavně nechápu co je vedlo k tomu, aby label měl tuhle funkci.

 
Nahoru Odpovědět
15.2.2017 22:12
Avatar
D0ll0k
Člen
Avatar
Odpovídá na HONZ4
D0ll0k:15.2.2017 22:22

Teď koukám, má to i LinkedLabel a vsadím se, že to nejsou jediné dvě kontrolky, co mají tuhle funkci. Taky jsem se dočetl, že to přidal nějaký Windows Shell programátor ve Vistech bez toho, aniž by někoho upozornil a pak se o tom dozvěděl Framework team až v sedmičkách. Vzhledem k tomu, že to je bug a že tam byl příliš dlouho, tak se to báli odstranit a nechali ho tam.

Nahoru Odpovědět
15.2.2017 22:22
Veni, vidi, programmato
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 50 zpráv z 60.