Diskuze: Viditelnost formu

C# .NET .NET (C# a Visual Basic) Viditelnost formu American English version English version

Avatar
matesax
Redaktor
Avatar
matesax:

Dobrý den,
potřebuji zneviditelnit form, ale vše ostatní nechat. Přes opacity to tedy nepůjde - jde to nějak? :) Děkuji.

 
Odpovědět 3.6.2012 8:45
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na matesax
David Čápka:

Nastav nějakou BackColor, která se nebude nikde jinde používat, např. Fuchsia. Potom ji nastav na TransparencyKey a ona se nebude vykreslovat.

Nahoru Odpovědět 3.6.2012 9:10
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
matesax
Redaktor
Avatar
Odpovídá na David Čápka
matesax:

Super děkuji - ale má to háček - mám v pictureboxu obrázek - a ten má transparentní přechody - ty se tedy nejsou jedné barvy (té Fuchsia) - kolem obrázku vznikají ozubené chuchvalce - nelze nějak vynechat ten picturebox?

 
Nahoru Odpovědět 3.6.2012 9:17
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na matesax
David Čápka:

Nelze, musíš si nějak zajistit, aby ta barva nikde nebyla.

Nahoru Odpovědět 3.6.2012 9:35
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
matesax
Redaktor
Avatar
Odpovídá na David Čápka
matesax:

Teď tě nechápu. Mám obrázek, který aby neměl ostré hrany je zahlazen. Tedy pomalu přechází do průhlednosti. Tam kde je to průhledné se vykreslí plná barva pozadí - ale tam, kde je to jen poloprůhledné dojde k zkreslení té barvy Fuchsia (byarvy pozadí formu) a ta už tedy neodpovídá barvě, která by se neměla vykreslit - tedy Fuchsia,... Nyní jsem místo Fuchsia použil Ivory - alespoň trochu jsem zmírnil dopad. Dostal jsem ale nápad - tento form neupustí plochu - tedy nemůže se dostat nad jakýkoliv jiný program - tak jako všechny ikony na ploše. Proto mě napadlo jestli nejde dělat výřezy z plochy - podle aktuální polohy,... Děkuji.

 
Nahoru Odpovědět 3.6.2012 9:44
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na matesax
David Čápka:

To bych určitě nedělal. Máš k dispozici 3 miliony barev, stačí ti místo Fuchsia v obrázku použít o jednotku odlišný odstín a nemáš problémy. Nezesložiťuj si zbytečně práci, navíc by tam mohlo docházet k mnoha problémům, musel by jsi to často refreshovat a stejně by to bylo poznat.

Nahoru Odpovědět 3.6.2012 9:51
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na matesax
David Čápka:

Ještě chci říct, že inteligentní grafické editory mají něco jako Replace Color, není tedy těžké obrázek upravit pár kliknutími tak, aby děravý nebyl.

Nahoru Odpovědět 3.6.2012 10:18
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
matesax
Redaktor
Avatar
Odpovídá na David Čápka
matesax:

Jak mi pomůže jiný odstín? Ten obrázek se vykreslí na dané barvě a tak dojde vždy ke zkreslení této barvy - v oblasti transparentních přechodů,...

 
Nahoru Odpovědět 3.6.2012 10:21
Avatar
matesax
Redaktor
Avatar
Odpovídá na David Čápka
matesax:

Já vůbec nevím, jestli si rozumíme. http://www.itnetwork.cz/…ez_nazvu.png

Ty wormsy se jménem programu - tak to má vypadat. Ale ty menší a beze jména - to je můj problém. Jedná se o ikonu z těch wormsů vykreslenou v pictureboxu na pozadí formu barvy Ivory.

 
Nahoru Odpovědět 3.6.2012 10:28
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na matesax
David Čápka:

Jo takhle. Hmmm, tak zkus místo toho BackColor ještě:

this.BackColor = Color.Transparent;
Nahoru Odpovědět 3.6.2012 10:36
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
matesax
Redaktor
Avatar
Odpovídá na David Čápka
matesax:

JJ - zkusil jsem - objevil se nevysvětlitelný problém - nic nefungovalo. :) A v obrázku jsem měl kráter. :) Totiž po deaktivaci formu se má form zneviditelnit - tak aby zůstal jen obrázek. Ale při nastavení transparentu zmizela barva transparent jen z toho obrázku, ale z formu nikoliv (chci to naopak :) ),...

 
Nahoru Odpovědět 3.6.2012 10:40
Avatar
matesax
Redaktor
Avatar
Odpovídá na David Čápka
matesax:

Až teď jsem tě pochopil. :) Toto nemá vůbec žádný vliv,... :)

 
Nahoru Odpovědět 3.6.2012 10:42
Avatar
matesax
Redaktor
Avatar
Odpovídá na David Čápka
matesax:

Rovnou zneužiji toto téma. :) - jak nahradit řetězec (replace) jenom pro jednu schodu? Děkuji.

 
Nahoru Odpovědět 3.6.2012 10:43
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na matesax
David Čápka:

Buď přes regulární výrazy nebo ručně pomocí IndexOf a Remove - viz. příslušný díl v C# seriálu.

Témata prosím nezneužívej, musíme je potom ručně přesouvat a to nás nebaví.

S tím průhledným oknem je to opravdu problém, našel jsem nějaké funkční ukázky, ale je to docela složité.

Nahoru Odpovědět 3.6.2012 11:26
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
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 14 zpráv z 14.