From 553279b2e936df19b910fe3d175f4cff62f7d50f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eugen=20H=C3=B6glinger?= Date: Thu, 27 Feb 2020 15:11:17 +0100 Subject: [PATCH] Projekt neu angelegt. --- .gitignore | 32 ++ Daten/Construction.png | Bin 0 -> 1801 bytes Daten/Email.png | Bin 0 -> 3044 bytes Daten/Error.png | Bin 0 -> 1852 bytes Daten/FatalError.png | Bin 0 -> 1910 bytes Daten/Information.png | Bin 0 -> 2818 bytes Daten/Instruction.png | Bin 0 -> 2223 bytes Daten/Question.png | Bin 0 -> 2856 bytes Daten/Telephone.png | Bin 0 -> 2601 bytes Daten/Tips.png | Bin 0 -> 2198 bytes Daten/Warning.png | Bin 0 -> 1891 bytes OwnMessageBox.sln | 31 ++ OwnMessageBox/App.config | 6 + OwnMessageBox/Icons.cs | 100 ++++ OwnMessageBox/OwnMessageBox.Designer.cs | 120 +++++ OwnMessageBox/OwnMessageBox.cs | 437 ++++++++++++++++++ OwnMessageBox/OwnMessageBox.csproj | 116 +++++ OwnMessageBox/OwnMessageBox.resx | 120 +++++ OwnMessageBox/Program.cs | 22 + OwnMessageBox/Properties/AssemblyInfo.cs | 36 ++ .../Properties/Resources.Designer.cs | 163 +++++++ OwnMessageBox/Properties/Resources.resx | 151 ++++++ OwnMessageBox/Properties/Settings.Designer.cs | 30 ++ OwnMessageBox/Properties/Settings.settings | 7 + OwnMessageBox/Resources/Construction.png | Bin 0 -> 1801 bytes OwnMessageBox/Resources/Email.png | Bin 0 -> 3044 bytes OwnMessageBox/Resources/Error.png | Bin 0 -> 1852 bytes OwnMessageBox/Resources/FatalError.png | Bin 0 -> 1910 bytes OwnMessageBox/Resources/Information.png | Bin 0 -> 2818 bytes OwnMessageBox/Resources/Instruction.png | Bin 0 -> 2223 bytes OwnMessageBox/Resources/Question.png | Bin 0 -> 2856 bytes OwnMessageBox/Resources/Telephone.png | Bin 0 -> 2601 bytes OwnMessageBox/Resources/Tips.png | Bin 0 -> 2198 bytes OwnMessageBox/Resources/Warning.png | Bin 0 -> 1891 bytes OwnMessageBox/Window.cs | 171 +++++++ .../Test_OwnMessageBox/App.config | 6 + .../Test_OwnMessageBox/Form1.Designer.cs | 61 +++ .../Test_OwnMessageBox/Form1.cs | 119 +++++ .../Test_OwnMessageBox/Form1.resx | 120 +++++ .../Test_OwnMessageBox/Program.cs | 22 + .../Properties/AssemblyInfo.cs | 36 ++ .../Properties/Resources.Designer.cs | 71 +++ .../Properties/Resources.resx | 117 +++++ .../Properties/Settings.Designer.cs | 30 ++ .../Properties/Settings.settings | 7 + .../Test_OwnMessageBox.csproj | 89 ++++ 46 files changed, 2220 insertions(+) create mode 100644 .gitignore create mode 100644 Daten/Construction.png create mode 100644 Daten/Email.png create mode 100644 Daten/Error.png create mode 100644 Daten/FatalError.png create mode 100644 Daten/Information.png create mode 100644 Daten/Instruction.png create mode 100644 Daten/Question.png create mode 100644 Daten/Telephone.png create mode 100644 Daten/Tips.png create mode 100644 Daten/Warning.png create mode 100644 OwnMessageBox.sln create mode 100644 OwnMessageBox/App.config create mode 100644 OwnMessageBox/Icons.cs create mode 100644 OwnMessageBox/OwnMessageBox.Designer.cs create mode 100644 OwnMessageBox/OwnMessageBox.cs create mode 100644 OwnMessageBox/OwnMessageBox.csproj create mode 100644 OwnMessageBox/OwnMessageBox.resx create mode 100644 OwnMessageBox/Program.cs create mode 100644 OwnMessageBox/Properties/AssemblyInfo.cs create mode 100644 OwnMessageBox/Properties/Resources.Designer.cs create mode 100644 OwnMessageBox/Properties/Resources.resx create mode 100644 OwnMessageBox/Properties/Settings.Designer.cs create mode 100644 OwnMessageBox/Properties/Settings.settings create mode 100644 OwnMessageBox/Resources/Construction.png create mode 100644 OwnMessageBox/Resources/Email.png create mode 100644 OwnMessageBox/Resources/Error.png create mode 100644 OwnMessageBox/Resources/FatalError.png create mode 100644 OwnMessageBox/Resources/Information.png create mode 100644 OwnMessageBox/Resources/Instruction.png create mode 100644 OwnMessageBox/Resources/Question.png create mode 100644 OwnMessageBox/Resources/Telephone.png create mode 100644 OwnMessageBox/Resources/Tips.png create mode 100644 OwnMessageBox/Resources/Warning.png create mode 100644 OwnMessageBox/Window.cs create mode 100644 Test_OwnMessageBox/Test_OwnMessageBox/App.config create mode 100644 Test_OwnMessageBox/Test_OwnMessageBox/Form1.Designer.cs create mode 100644 Test_OwnMessageBox/Test_OwnMessageBox/Form1.cs create mode 100644 Test_OwnMessageBox/Test_OwnMessageBox/Form1.resx create mode 100644 Test_OwnMessageBox/Test_OwnMessageBox/Program.cs create mode 100644 Test_OwnMessageBox/Test_OwnMessageBox/Properties/AssemblyInfo.cs create mode 100644 Test_OwnMessageBox/Test_OwnMessageBox/Properties/Resources.Designer.cs create mode 100644 Test_OwnMessageBox/Test_OwnMessageBox/Properties/Resources.resx create mode 100644 Test_OwnMessageBox/Test_OwnMessageBox/Properties/Settings.Designer.cs create mode 100644 Test_OwnMessageBox/Test_OwnMessageBox/Properties/Settings.settings create mode 100644 Test_OwnMessageBox/Test_OwnMessageBox/Test_OwnMessageBox.csproj diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5a5f80a --- /dev/null +++ b/.gitignore @@ -0,0 +1,32 @@ + +#Ignore thumbnails created by Windows +Thumbs.db +#Ignore files built by Visual Studio +*.obj +*.exe +*.pdb +*.user +*.aps +*.pch +*.vspscc +*_i.c +*_p.c +*.ncb +*.suo +*.tlb +*.tlh +*.bak +*.cache +*.ilk +*.log +[Bb]in +[Dd]ebug*/ +*.lib +*.sbr +obj/ +[Rr]elease*/ +_ReSharper*/ +[Tt]est[Rr]esult* +.vs/ +#Nuget packages folder +packages/ diff --git a/Daten/Construction.png b/Daten/Construction.png new file mode 100644 index 0000000000000000000000000000000000000000..0914ebc5f440ebecb1e068526138551c6e2e41b4 GIT binary patch literal 1801 zcmV+k2ln`hP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;(#7eog=Y26{QH>3Bc;pi(EGvD1? z0(;L6JslFVgD)9?=GA@|~XynG@C`YidC z`xg_lblcsNNsv`9ZVIHv4rYE}pa!>wZ{f!94cL1Nu>Qh35YDZ{ym})ht#mm+Z@GJc zG^LXT4{lc=uRC?D?H7JNk5RQ>JB6(CsaVzZ1`<1#z?`cXp73 z+HvL9Pt0_1a1ap@5lBc#z;`zW@P_jxynN<4Ebn*{GfI4*N_NeZmbo(-1fmUCE5DjX z7j;N!|KQ>gbar+!>gwu1r$MPyvV!Wquf~g~pT@JDPa*cpFicwQF{pS_9x$@n9Y`<8 zYT}LrqPQoYnV0vKV%F?%W;#l6a4?#in^^%vw}+7IOu*9}k0I{cXoT15p-OSBqw`!S z|4#aJe&GY#$0O(B>&#p{YTK%}VEXjwu-kW1bB-cIOiTo;dnL%9l9v5vG9?i=eJ0nj_}Emu-S!$Y-``h_u&^)`6%`>eGKv+TRH_ga6(v~% zw{PFZ_3PKM%K17gU{3QiL>%;oGS$8FUj zc(!w~fQ*a`goK1h_Q1`XH(4-G^tK|%aUXPB=_4wi0E=A>&t$hOY5BjGK8@(i>)ftA z@r4OK`v`pY5(q6R=7=x?rt(cJ^u)S({Z&X2^;1Ng1|0vTI;-<~yJ7bSoFu8_ftzY`y0%q3M*2Z?J zQmNSaKX>jNGjTed5Cq{5<|1N&d3kwQS{eyM4uNR{htT~xxTlUgL*Jdo(>cGFpTMn( ztfIkdqQRr)+P&`hsP!l-KtwzNqFGN*56+%F%S>!G8_R?E`Oon3@0P zvS>WCHZ@#d^;k{Ee|?eF2}EyP?|yBO7(8k&wmzt4GCuvLg+9wxM$6|dIN5#@r=6$K zb-{_+x*9Ybsz=$LGB_$6*j-+VlHJ9ymlUC}XvYZl9jL0Wz|7oC+$z}<;w!k+J>F!5f4v(sS632Ds-Tn+Om+}VDW#MU_!d*_1b#LGO(CU#c4|9; zZX0C_O}vjCmYPxs;6@%=EdN zb2wPmQPxt{a0pn2dbn1HFiL2R4m0=Z@L;tLA=O$0@6}>Pl@>viX_Z<8?$N+n zp+Nw}Qm%oS?%qi8%%KIuxr={l2vMiS%*%Omo8LHo)lu#tOjp6wlJS5zb rJjQU9;K%UHmPrtiXU4@7LMHwKfG!uHnRZ~^00000NkvXXu0mjf`qN(> literal 0 HcmV?d00001 diff --git a/Daten/Email.png b/Daten/Email.png new file mode 100644 index 0000000000000000000000000000000000000000..6224ae067ddcf7dcc40f731d053e17429b4250dd GIT binary patch literal 3044 zcmV004&&004{<008|>004nL003F*009yY002DZ000@zy2&Ck0003k zX+uL$P-t&-Z*ypGa3D!TLm+T+Z)Rz1WdHyu&tqU?a_05zrGr z_7{-)bTFHV18fe2Edyegq*j3JWpK_fs4U7%&nQtaw6wHTa7@WhN>vE1EG|jSEmrW% zOU^GU$S+DPNlgK&g}4t41R)ARA*KP;XrakKWdMo?2Ftm z#)SC@Gv-JzF!(QJU|{)!5HsmzU|68Tz`#EhA*N=?z#yQ{z_4!)0K&6R{?;bADF6Tf z32;bRa{vG(Hvj-7HvzyN6SV*U02p*dSaefwW^{L9a%BK;VQFr3E^cLXAT%y8E;(#7 zeog=Y3H?b#K~z{rtyc$BRM!^8l%K?}i5MwL2StV^XjC8;G{s8PSkP!N8e8lUtZ2Z7 z2GC$I7DQ4EQBgoel-@hiQ3gfbbv(_N_&S-$9a0jxiXgVwuu@Rs>?yk*8A2qSGmVYw_8^WAdce79cVT_C=5I-`0j zZ6Bn}@;BmcHB`?OO8s{R*Y;Sih-XC4p(K9(_a9-pFcO=tRKhD;5O(x>qCtPk7Z3k@ zv9(83`%&TKXDMOW`|?TSD82;$j9xNDnzB!AS|vLm#&p!*RgEaER105o(Y+> zItgwuO|3`nJXlC+U(Ah*xvkS(BU>b6W+{^mBLN?6NWksHT2u(-s3dT|{|xT)N`V~F z*^OAWD-EjVH<<|CX<_&>xK454de&M>|B{mBzr=-Xk;VS|E$w>t;f!3*?iS94Rv@oI z{y!rywhp}a?lKXYlS8pHs8+G#Qn(}04D3Wuaq|%OcyXEWoJdA)NXi3~TM%0=|Jw-3 z5yNsW=j3(hObx@{JN4}gHoIB%Q~oi$Q`>!K?#N=~suscU46a8|uKX_``yB>)&OwIr z(E?~ryv6dqvnm-b*9+r`Zm^QIKfDt~I$M9Pf2wLh_huf1nd{SVAzAX52rHDKTJ#jr zC9(mZKZg{H_vd5SIIbpcVD)!Tu*CWFr$qbwDh@@qc~5dmW#q%ghhX)o$MA@39}p)Z zC5Yj7ptrXVT=ezzA+xdzC!-_-uII2lpdPA|ZbQ{77(9mD4ovY|jK7zTa-U=m`Hea71yBXlxpXAdJ+^z_0%Nrqc_ za@;TKz?m2+B8oei6I^sDdf8|5&j?}XUIE=T8PHgg0FC*vN)c1TVZJ;WOOJ%ck$@p8 zF2Sw-CLbpg`w zq;zWFs4E06vP@faUxIXjAYas!qD%*Z)x~Dro4r-)I zgBEZLIn`QQ9ze&r081{E<3M;LY<(+`Q!i&Exs7sorHc?y*be{vHoAYMLytwB_%NUb zpIxh?@mmYsy@k*r5!#!`iPdS)bWCIpt9{4`$Q6@-2`U>e*W5H*Ob_Vv%z9eLZQwTQ z?k~d9fC{)qHN(iK5~dew@XNz?M#dFg4-xl)Bkx00l?>M3*JJeAYOD!qz^>a3&~tkP z-Q9)I-j>T8<($>{I36P%V&Ql^Nk9U|t8DVC^fmn~9qJ3?Fp};{>+?+LY|W*O1uVg` zD^)lc+k(;OYhWDEfU!R}!achU-BcI1syiX;?tvc-Bh#xb82eKr#`rg2ZCEp$$u)yx zrO-WCOiq#rx{8r&(#eG+7?R5lyKhvI027sUz9pM%x96}*9ZADTYh(ZE4-~Nkj#q1O zC{ak{^)UIR8TMhVh^p&=Q-%y?5mGEjks`LS1M{QXz`HKM*egv~8zF#8B)RtW6X?5_ zu&dDCo{LfB0#}e$RGd?tJTpjurphL-Nb|Yw583^UA}6#qKY*@FA@sg_1cMXhSRPc5 zLn$IUc@tK~wIZgW12dDPFpuwmMPes|U6LGk>pQV6LjvA40oKKc;1Vr_(Wy$M3$Ek> zR|^}mS$EAmP>8X1%YGmM?49uPDz75Gu2TvtK4$-(Lg*hZfuUywmeWhgElrFgSz-h} zk;6J#28*OlSY|3P?m;i12jkMZVHq#ScV!(o_fU!r@nX2diC}c53WjtDy+aRKL37uj zO^00ImfrQ!tFNvnZsqrbl}8iz**fR2``6x{2R*V(pQfXccO~XgMb}EY5cEU_M|!!e z$nL<(!fvc8RbW+Fj}j#ce3IXV<(c$i;!9B@d5R5@0vP$$!06;-R!iDcQ#$0X_0AmF zt?(!&S_?+b#gy4=)D|Dk5$bR37qG7g`bSGKngnpgw=qVD<9Ske6nEf6Sr<-JDR8o` z2VegVCn~z(!S94ep&YwX#V`qIq>dm5xH=#KI@AriTXHbRHN9t;h5;Y+W)vX$umrDXk6SWkBtJ#TkZh54Rb7`c~Yl20pmXKA=xs$)rcH$}_^ zGp-Pc&?1?HkQlBb%pzzOaHr>5@y8~ZT&TxHA2G%rs|N2t0j6&Xl?_oHrUX}G;5^<~?Q~bpE;Hnhk16$Y};03qBl-`cqX}LMT!8BY#m=P|5b&=j1TAi<1#ZFq;X z-jA;8o5!#|NUipHNT-XU->)(jiULUGzYhk}Rz;=aSo$Z#m-tqghVR^I& zW?tmXsWO;*m%`$BF(b9v9^W@%$vKh!c*nF?ULX7w?H@;Ym1X)rgX>v~!9z!^)vPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D00(qQO+^RU2@($s z20(AOCIA2c7<5HgbW?9;ba!ELWdLwtX>N2bZe?^JG%heMIczh2P5=M~nn^@KR9Hu? zmsw1dR}{xDrB#rbVX-R3iWLw+1Q7*9nTjBa?3>W2O|1pvt4ZHmlSY%)v`>9%j5a1s z>_gL16j9P9TC2#8?29Nm4lvB_u6X)C-`s&&5V7q^ewmMN?mfSAx9=Oozlj{b?Ec@PR)`%98co|!)^>V&_z+RmL86L1L=zmOi5lyp6}X4&r6EwY1IMhN!>`C zgLBEW^NX`WEV-moHJQqai9V{Fm-LwnPr(zWqMXJ{^Qm4H(8M`q`nlt0Ap#pT>h=d% zUn(ke6V6Kt9)m|tuvEs1BD$njwR3K%nLT*p)Gb_CV<{=1DXgojRGC`fDtwjnA+vKQ zJ&@S*a%sFcht4g0r)JL0`MVI+w?EuMQ`q62(#J=S(v$uBr==`(lR~6O_w6G)+S+k# zW3sc!%H-$LKzcIa$W}|8dz=?S^H*4?;dxn+*GL~7KTbA_h3rE^^aw?GNdXJ(klWCP z+uDvDQ^XcvW_Ii#OGzGG4qakkm(llkl?;2#ra&k9@%Cog2l7REof^%p9%D3#wBCm zzE(>E+meZ$Qm@Rw31b1K8=V*yT3xU(1qEciaKTIF#JN1?ni`rw+i~=9G6wXL`&fqC z87VviC!`()_=q#MJ%watiG+oWSz=;}ipW}D?yMmykeu z9A!QFG5009+*}%U6mUlBQGl=SS!-o6Sqclu%s|Aj(CES>e^ytM-DFbaR;yJJD~yfN zXnZ`41P0PAjm80rxwByd=~#@u_rP83gFD+cQH`$;p3X8*%}Enxz+7BRCSY`7vZO@8 zz@JrBWV?0CZPcz9J3DD)?OGawoEZcIYBddFMn+OoX%vGSPD-L%87KfwsaKwWU+Qu) z$OwtCw3H?py!{Let|x%u&>^yojJS__7A8@|aBM8~L(KGnUeKdbDRhJWZArvVsaH-x zX@B}A8c$CrLwUKvge!*+lLfooQ#OV*XFTt75d$$XZqhDrlL^#NM_N3ef>Nm$;uj$n zUthiQg)TOVbi8>oGf9spmo6=h?%~?l-R&h|@jy@z^#lDYis(fViZmdAIzb2MiCjTf zB9^~kr_?*5&fl+Iw|%qQCK?8Yix<6;v#<|hp4wgrdeG5%&S(+x>S+$y>p5%!E7Qa5{`!I8G)IO>mDIlXgP=#);cCs2gIIZ97yBe)J)J_w^5 z8**?Gp(2IwZzpOMwWq|=mDuo?oJ*#ickm`z_`ML7bs-vkr#6wg z5~Ha(IB-tsRsIZ8Q)@ybwQP-}b0O-nZ-n?5x%k)c0-5)<@fJ{n_rU51A+{pP4|Pj| zOijr#)QO$kfuq#ACY+jAg;5h|jt-}`q-bhOUq_8t>vKyq=3_$qxI&0*TxghW5n*R9zA5bcY0_(}(;J=JPAawctl8Xo!@39K$BzLuZva(?fTBX+;6a1w!a__Rs>IYANAURQ&v1Q@ z1!v5rP8qAyJb!Q&VVupoHqLDFSPf87;T0OvygY*`&7|h(fdhD2R*LbOBe9h-r50#2N6A{rmSWybRTD>6Ygb(B7iBMIE{_;XJM})UZPMv=Ks8=fTtl88x#`Q%> zv7c~3Qu3HQ^1!8XRh8h3DWXeqYt6GmHcr#x#f`&dMVR8c`bv$~5?|qWNgoRP_hU>m zT9A+a(mb46{6gcroAWcJj^2J{2d22g=So=}p1l6LS1Lk3DMg0#@L}WLQNDKz`}Sc( zD9p#ToDA^D9@RSkIIWcV%lJ6w(~6RSnMy(!|0+CU5dl&n!ci^v+$-W?G9>KXi{Y{Y zoQsQfic4!}gFE$?jsv-vU?ShvdJ=k&ADN|BN{pGl_L}k8+f z@z0oO+mq75fc5FJWR?ju-rdbCI_9m6f2MV?6W`hvq();r8xK>A*W$ z&jNzf3HPC5j1(1l8P*JG28pwxjI9ma6Hi&xFyc@*UW>aiF}S;QDek4E!NH^K;5gyF z#-5*#yE6rx(0UdS9Q@%(bt#66i!mgWlo$*Wmk&S8zBmBv)fI%eS9Da_^%h%yn zq#3u&8WwYB%NE#0%(3^#x7-JJc5Opra1fu)I#|uSgY3XiX(z9QhzuRHz*gblWQguuCpV(Sy{Nt$=ys($F1EgfKIJ9o`Aox=k11z5?6US9tiyQ za|(PvK%B>pF}=TV62V6M<=DyZ*f2<#wjT8 z$=QbfoE$hSD-8yGIewgJ{pG@YQ?+Oqc^~~)?JYu(PMpqv*-v_fTo$-Q7qd6YDJa)^ zr9M(>$=9nBC+(@pu*>Gj&4q(cE_-%1?(u!#%om|yv=+8yFQF$Y%6Knl-}AYX>?Ei2 zR?bMn!*PjRBv)6hz!yo&C&j7tGtm?p(rn+e9leo}-c59qJZt9l6n1P+HCp=(1y?!d zy~$cWtYW?QxLMFTcakCP(sYJ}!IrZLr$SzA*4o+Nw^Z?^%#G+>9_QUa*F~@^3!gmx z*qiuc*Zb&7O*Go-X|3?(s}`e(F+>~potUmeyLG!E?I7)>YuOUCZe1(ih{akv8}dEf z93IwkCpXL3x!w)LLb_Q*{X_%m$7<2F>PNWD>&BXLR-V?%4F7c`7qxsAeD?5DwC&$v zNQE}iO1dqZ&=elh@|}MZ@Mxr;PfnP)xhW-J=U!R279Giy`$#?FPJsfM>4n5Nv{*CI z8fijnXecgdF0NmRb4l?N;?TNh2XA<*Gh;n^k`uipLXY$-AtVIt?AnEGYthJ@I{m_e z)&Bac^-0sV>@;-p?9N?JU#SQUDTV*`zz0!RW-7i&O_-KkI_-i(Hp${YD^=YTV|HA! zY{r$%YtR-QIj{7*yhfSOk+ur$JJ;h>jH&N!rGCO(^4IW-I`8+!4~U8UkgQHpYA2KY zr71RQur(tEm$;KJ@+ftzO+eeqc(jtXH3{fUUxUt^4QSz7pNcgP{Z6UBtx#$ob8IHb zB#wlW?=8Zw0J4Qxc%i69so(xVsejZ)gx+Y1i*|p$V(FA{Ixc#Y*KYn^sk1*->TO!8 zI3|zekmoKy!dLR0*QO62nlvXQJJ@#MLdU~Wi97LgDl wosptmBFl($$%FhZ*P}=Tk^5!bJW{3p10$w)j2nl4)&Kwi07*qoM6N<$f*TpMaR2}S literal 0 HcmV?d00001 diff --git a/Daten/Information.png b/Daten/Information.png new file mode 100644 index 0000000000000000000000000000000000000000..6c532b2c33cc411c77ea14ba3d969c496f41c9dd GIT binary patch literal 2818 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 literal 0 HcmV?d00001 diff --git a/Daten/Question.png b/Daten/Question.png new file mode 100644 index 0000000000000000000000000000000000000000..edfb8bddff975614de07115c978ee8d7f553f624 GIT binary patch literal 2856 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 LNkvXXu0mjfT9)*Y literal 0 HcmV?d00001 diff --git a/Daten/Tips.png b/Daten/Tips.png new file mode 100644 index 0000000000000000000000000000000000000000..a42695df498e9d9e05673ab848c879a4b20fdfd6 GIT binary patch literal 2198 zcmV;H2x<3;P)N2bZe?^J zG%heMIczh2P5=N16iGxuR9Hu?R|!y)=^1w0+S=W=yWQ3v*4>#cw%f7W9giMP4|nX; z(dxSGII@Sbh9rO%MIxx{Nkqj1R77!=Lxf;B6a@mvnS&!7G2|d2`Ey?+`Sa%@Lc_cAjv_3yE<+;7s4&n4g$W&&qRGAGlVbFBeN8x3%?)dhw3?NHoegG#Xz>Lg~k z!Eb@R`%gJgFmV9z3T^yyU@*7~Sc&Q7S$VZk(BOg$o)OMe6HwG*2EN!bT`4h7-)uKL z%dOQsJ9lU3nV{DNH!GTfy<>k3s@SWv%!`4`<$i;`h9D{Vpg1KZ(i4Fsm>cgK|~s5jFdbx-P?xOjy(wLO9JYg%^ZU?rrT&#N3lJvTw8#s^&*&r{^!(E#C# zJTOuLxhX&@%mKH;;&%?3CHs+HEvN(I@cv_EAfa*Ao$nd4ua zQ`U<$PPig4gIMi;)~)eQpz=ph_I^2XtTg)_DoenkwgrtUOOQ~S1BBe@pAQBj^^N_<3!a_i8=>I7VOpeiKSupUz4rO#CTav_ zZ5^_Q2#r0Y9d?9OT1QBsu?H0>Af?RcSCzCG#8(=0{Wyr~P8)f(pyFv#QrZt``RC*F zq&;sRJzEADUyqP7Ng!}g#`?+VKZSGd>U3is$;qup9t zNGeo&TFOOcL2;WwnBS-yC>NToJicIhdtyoqE&qHlnJEhopDLO@&R0!y`GaFZl{+le zlOEJ(D=PP}#t~Ft$0m0~g4kj9Mq16DNDFE~O?|(;N%?zKmWoz|>q=dpy|hAN zuGLyYWOB-3AuT&|uvn?@W}Yn^FK#h-F4bw2MXiLWy30~G8lChQM?%fv$hdYi5_JTE zVY`p=yC{E96&{V)WdzBU47szL2J8hQmA6gM)Hxl`=4_&6X9rfo-o!6U>&N*bi>9RA z(29F&92xCIQ(q)E`VMOCpzR)O=6?XKC)l}A zBKf#O+_~HBAOELuB*LJ0BeetBMzUg{X zZT+~d0%Z&h5%ZWFh0)JErlp5CDe27B*%+I()nWTzduUEBV!QP}$UZc{ZJ%RB&W z!b<4use*Ia`=DD|22IVyQLWBGWn^A7Er`0?K|0U^ z4-~DS8SVs!OAk7O6^@_C9gR=i^E=vX?yzy=uiiU!Xf>4b4#0`iS#b4w8PwF?hq{I~ zxK&vTXLByYp~I=Lef#RMk3M?$yR_NdAt`C){LemHPWAPlg>Xaz7F#p)^j3nnvkXMy z>(JhI2J-U~;FFJ+2R{68<;&d#zY6QuFI{@%$ZF8(dFa9m@MuyAW8>Z6^)-V`UI^7y zhvD)iHhlW&3eT1;i@!~q%^k4lwrwkXef_5)`p^R5F$qw?4ltPRfLu`o!j3agaBU}S z-TK?f_3M{>k2ae-Y}&MR37!GHzWo0xpi-AWP0ca5QM4O&?)YGO-MW|+$OPYjUi#et zi{Lk%SC=e#b8%eUGWRY1PL#C({K0nchlD^FZ=*T54As>KA>-I)*u42So|u@0OOVa$ zh_4~yV;FDASp|b1#*VST8;A=L7cE-!`m)ul-^tmq;eE@tZ65%W^*3NJ{tB_Ne}WAg zmf2RVdMjt)!Ucas&*A{yLi{n}n}~Q<;6P^l*Nh{^gM_odcR75Uc?a=5#6PTBwThdO zkpUu+2xVRk$;rup*7DJB>k$8pxE%49h>H<%5Z_1q4kAu!MwR&A3Si?OA^r^U=ZH%Y zSFTyJCM!NZUWaZv1p1td*8YO{d&KtbekN^Mx literal 0 HcmV?d00001 diff --git a/Daten/Warning.png b/Daten/Warning.png new file mode 100644 index 0000000000000000000000000000000000000000..dd4990da043f568c5acc90855c814d6f983c94ba GIT binary patch literal 1891 zcmV-p2b}ncP)pF2XskIMF-mo5flJA%Nx820000ObVXQn zQ*UN;cVTj60B~VxZgehgWpp4kE-)@RY%_jN000KgNkl^zP9jq}XEILBiL}E&evdA6;icLhe zZlxQIwgHtzAO>U?jirnb7U9hOj}9i4s%&ab)v5Y*?|t{Y``&%;Kf$lX8DC$QdWE8~ zUM@d*Zp#)Qv-!7!j^nC2o__}I0Z&2i?|-Yky?v3{_3&ZPYF}$y=zwnu^DzEd4)peF zoQ{ghHM<`!nnOb5byDfo!HsVNt*wB`gxm{O@3aO*3|*$ z&jY7UVJbHZ#^tW44-IWKnM{`E&<78LkB@sDrji)0y1JspXbdn9zki%isbWlgwl+jWM1b6kJ9g{e;Lte+R3t*Mz4A`})D&QIXbp+jaXFuQdt;Nt^$ zc%a3{69-&ea89RN&655Sl&e&+pa0Gq)9I;m;;E^a`1qIZ!Z)$+9T`r*DvUFIt!Ng=b+Zh%d1?en7a1L(-?hi74F9D!dOEC?%cV9 zyLaz0vGa5jQYd3(WhJxmK0anVE)Jt^&S-W}z~t$I1dc;Ra`G0I{O6#UAFr0tSPD*?1oxGu+#Y1|MhCSPN07mY`CrLGp?x zMjIPzfBJ^3aB})fwZ;+GpZCMHr6LTvJ%XO%Tny3#Zr;3!v9U2sPfufFVggdB6hfhp zO@_DeK0bzzZOKf-38fH~3IQ6m4oH$ok-2HZk2j=YLza4adKW3V>EV~3n%j3*5xRDV(VL@{ zv8$_#RW>|4%!I1wR-|E!n>KA?Hr~g_@Uh>HJ4L_gLWuyMSqX4*kv-m*$?)liAO4$( zeh0!lsif{w;7VM3l*1s2UwvGI){7VB6Y&*Yp(EDU*N35@Av8BPL#b4<3GCgwm)Uq9 zAH&CfJFcav2}KLl$g>onKw^QTYFq5|^BXHTa!@-bO(?LlTX&2aZ{#^&w(tEeBJ{Y+ z(6K8F?Qs!ki;X}lu`NCdmlOYsj-(iLCdb0~K^V&a`46-u#o`h@QkvrS;9PVRPVWv! z2i zepF1C6fJ!YRi8=X=^_ErM07If<+Rbk0VxTwFA8$)?cc0%cg4u7t1$G82L_&YN8g{8 zg;V$qqfEgTMm`h3RG}%IuSDHX%+T}t+0Fj`b&bmrAys1#Ny!sI~DSY zxwJ<)#4LK*9I>@VIx&?793mdH=5RpC;S>7F?B^6nri4ifIT95z#8cu}I_ojSJyHpF z6L(3(h!l$vPGTR>vcGR-iT_wyV!MR}-nFyC{+Q^m1YK!qi>pII8jc1B_2m=uf`a;T zi8;hm_*!5OeE5=>x(1C5}hBp8J literal 0 HcmV?d00001 diff --git a/OwnMessageBox.sln b/OwnMessageBox.sln new file mode 100644 index 0000000..99bc55d --- /dev/null +++ b/OwnMessageBox.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.28307.136 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OwnMessageBox", "OwnMessageBox\OwnMessageBox.csproj", "{F421906F-D2C3-4AD2-9C1F-17150AC80E17}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test_OwnMessageBox", "Test_OwnMessageBox\Test_OwnMessageBox\Test_OwnMessageBox.csproj", "{283AB9AE-B155-4143-8661-8F53021AF906}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {F421906F-D2C3-4AD2-9C1F-17150AC80E17}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F421906F-D2C3-4AD2-9C1F-17150AC80E17}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F421906F-D2C3-4AD2-9C1F-17150AC80E17}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F421906F-D2C3-4AD2-9C1F-17150AC80E17}.Release|Any CPU.Build.0 = Release|Any CPU + {283AB9AE-B155-4143-8661-8F53021AF906}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {283AB9AE-B155-4143-8661-8F53021AF906}.Debug|Any CPU.Build.0 = Debug|Any CPU + {283AB9AE-B155-4143-8661-8F53021AF906}.Release|Any CPU.ActiveCfg = Release|Any CPU + {283AB9AE-B155-4143-8661-8F53021AF906}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {4914E6F3-31D2-44BC-99DA-6B95E968B932} + EndGlobalSection +EndGlobal diff --git a/OwnMessageBox/App.config b/OwnMessageBox/App.config new file mode 100644 index 0000000..731f6de --- /dev/null +++ b/OwnMessageBox/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/OwnMessageBox/Icons.cs b/OwnMessageBox/Icons.cs new file mode 100644 index 0000000..1bf02ab --- /dev/null +++ b/OwnMessageBox/Icons.cs @@ -0,0 +1,100 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; + +namespace EOwnMessageBox +{ + public class Icons + { + /// + /// Control the possible icons. + /// + public Icons() + { + SetIcon(Icon.Information); //Initialisiere ein Icon + } + + //Die vorhandenen Icons + public enum Icon + { + Construction, + Email, + Error, + FatalError, + Information, + Instruction, + NoIcon, + Question, + Telephon, + Tips, + Warning + } + + /// + /// Stores the current icon. + /// + public Icon CurrentIcon { private set; get; } + + /// + /// Stores the current icon image. + /// + public Bitmap CurrentIconImage { private set; get; } + + /// + /// Sets the used icon. + /// + /// A valid icon. Possible options are: 'Construction', 'Email', 'Error', 'FatalError', 'Information', 'Instruction', 'Question', 'Telephone', 'Tips', 'Warning'. + /// Returns the image name. + public Bitmap SetIcon(Icon icon) + { + switch (icon) + { + case Icon.Construction: + CurrentIconImage = GetIconImage("Test_Form.Resources.Construction.png"); + break; + case Icon.Email: + CurrentIconImage = GetIconImage("Test_Form.Resources.Email.png"); + break; + case Icon.Error: + CurrentIconImage = GetIconImage("Test_Form.Resources.Error.png"); + break; + case Icon.FatalError: + CurrentIconImage = GetIconImage("Test_Form.Resources.FatalError.png"); + break; + case Icon.Instruction: + CurrentIconImage = GetIconImage("Test_Form.Resources.Instruction.png"); + break; + case Icon.Question: + CurrentIconImage = GetIconImage("Test_Form.Resources.Question.png"); + break; + case Icon.Telephon: + CurrentIconImage = GetIconImage("Test_Form.Resources.Telephon.png"); + break; + case Icon.Tips: + CurrentIconImage = GetIconImage("Test_Form.Resources.Tips.png"); + break; + case Icon.Warning: + CurrentIconImage = GetIconImage("Test_Form.Resources.Warning.png"); + break; + default: + CurrentIconImage = GetIconImage("Test_Form.Resources.Information.png"); + break; + } + CurrentIcon = icon; + return CurrentIconImage; + } + + private Bitmap GetIconImage(string icon) + { + Assembly myAssembly = Assembly.GetExecutingAssembly(); + Stream myStream = myAssembly.GetManifestResourceStream(icon); + Bitmap bmp = new Bitmap(myStream); + return bmp; + } + } +} diff --git a/OwnMessageBox/OwnMessageBox.Designer.cs b/OwnMessageBox/OwnMessageBox.Designer.cs new file mode 100644 index 0000000..368d9ed --- /dev/null +++ b/OwnMessageBox/OwnMessageBox.Designer.cs @@ -0,0 +1,120 @@ +namespace EOwnMessageBox +{ + partial class OwnMessageBox + { + /// + /// Erforderliche Designervariable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Verwendete Ressourcen bereinigen. + /// + /// True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Vom Windows Form-Designer generierter Code + + /// + /// Erforderliche Methode für die Designerunterstützung. + /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden. + /// + private void InitializeComponent() + { + this.buttonLeft = new System.Windows.Forms.Button(); + this.buttonCenter = new System.Windows.Forms.Button(); + this.buttonRight = new System.Windows.Forms.Button(); + this.labelText = new System.Windows.Forms.Label(); + this.pictureBoxIcon = new System.Windows.Forms.PictureBox(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxIcon)).BeginInit(); + this.SuspendLayout(); + // + // buttonLeft + // + this.buttonLeft.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.buttonLeft.Location = new System.Drawing.Point(13, 415); + this.buttonLeft.Name = "buttonLeft"; + this.buttonLeft.Size = new System.Drawing.Size(75, 23); + this.buttonLeft.TabIndex = 0; + this.buttonLeft.Text = "Left"; + this.buttonLeft.UseVisualStyleBackColor = true; + this.buttonLeft.Click += new System.EventHandler(this.buttonLeft_Click); + // + // buttonCenter + // + this.buttonCenter.Anchor = System.Windows.Forms.AnchorStyles.Bottom; + this.buttonCenter.Location = new System.Drawing.Point(363, 415); + this.buttonCenter.Name = "buttonCenter"; + this.buttonCenter.Size = new System.Drawing.Size(75, 23); + this.buttonCenter.TabIndex = 1; + this.buttonCenter.Text = "Center"; + this.buttonCenter.UseVisualStyleBackColor = true; + this.buttonCenter.Click += new System.EventHandler(this.buttonCenter_Click); + // + // buttonRight + // + this.buttonRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonRight.Location = new System.Drawing.Point(713, 415); + this.buttonRight.Name = "buttonRight"; + this.buttonRight.Size = new System.Drawing.Size(75, 23); + this.buttonRight.TabIndex = 2; + this.buttonRight.Text = "Right"; + this.buttonRight.UseVisualStyleBackColor = true; + this.buttonRight.Click += new System.EventHandler(this.buttonRight_Click); + // + // labelText + // + this.labelText.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labelText.Location = new System.Drawing.Point(13, 13); + this.labelText.Name = "labelText"; + this.labelText.Size = new System.Drawing.Size(775, 399); + this.labelText.TabIndex = 3; + this.labelText.Text = "..."; + // + // pictureBoxIcon + // + this.pictureBoxIcon.BackgroundImage = global::OwnMessageBox.Properties.Resources.Information; + this.pictureBoxIcon.Enabled = false; + this.pictureBoxIcon.Location = new System.Drawing.Point(12, 12); + this.pictureBoxIcon.Name = "pictureBoxIcon"; + this.pictureBoxIcon.Size = new System.Drawing.Size(32, 32); + this.pictureBoxIcon.TabIndex = 4; + this.pictureBoxIcon.TabStop = false; + this.pictureBoxIcon.Visible = false; + // + // OwnMessageBox + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(800, 450); + this.Controls.Add(this.pictureBoxIcon); + this.Controls.Add(this.labelText); + this.Controls.Add(this.buttonRight); + this.Controls.Add(this.buttonCenter); + this.Controls.Add(this.buttonLeft); + this.Name = "OwnMessageBox"; + this.Text = "OwnMessageBox"; + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxIcon)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Button buttonLeft; + private System.Windows.Forms.Button buttonCenter; + private System.Windows.Forms.Button buttonRight; + private System.Windows.Forms.Label labelText; + private System.Windows.Forms.PictureBox pictureBoxIcon; + } +} + diff --git a/OwnMessageBox/OwnMessageBox.cs b/OwnMessageBox/OwnMessageBox.cs new file mode 100644 index 0000000..e41a678 --- /dev/null +++ b/OwnMessageBox/OwnMessageBox.cs @@ -0,0 +1,437 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace EOwnMessageBox +{ + public partial class OwnMessageBox : Form + { + #region Version und Copyright + // Version und Copyright + string programName = Path.GetFileNameWithoutExtension(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); //Den Programmnamen auslesen + string programVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); + static object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false); + string copyright = ((AssemblyCopyrightAttribute)attributes[0]).Copyright; + string icon = Application.StartupPath + "\\Info.bmp"; + //Assembly Datum und Zeit + static DateTime value = AssemblyDateTime(); + string date = value.ToShortDateString(); + string time = value.ToLongTimeString(); + private static DateTime AssemblyDateTime() + { + var version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version; + var buildDateTime = new DateTime(2000, 1, 1).Add(new TimeSpan(TimeSpan.TicksPerDay * version.Build + TimeSpan.TicksPerSecond * 2 * version.Revision)); + //Tage seit dem 1. Januar 2000 und Sekunden seit Mitternacht, (multiplizier mit 2 ergibt das Original) + return buildDateTime; + } + #endregion + + #region Programm-Info + /// + /// Contains the name of the program file + /// + public static string ProgramName { set; get; } + + /// + /// Contains the version of the program file + /// + public static string ProgramVersion { set; get; } + + /// + /// Contains the copyright notice + /// + public static string Copyright { set; get; } + + private void SetProgramInfo() + { + //Name, Version und Copyright setzen + ProgramName = programName; + ProgramVersion = programVersion; + Copyright = copyright; + } + #endregion + + /// + /// Set or Get the pressed button text + /// + public string Result { set; get; } + + public OwnMessageBox() + { + SetProgramInfo(); //Name, Version und Copyright setzen + InitializeComponent(); + + this.MinimumSize = new System.Drawing.Size(Window.XSize(Window.Size.Nano), Window.YSize(Window.Size.Nano)); + } + + public OwnMessageBox(Window.Size size) + { + SetProgramInfo(); //Name, Version und Copyright setzen + InitializeComponent(); + + this.MinimumSize = new System.Drawing.Size(Window.XSize(Window.Size.Nano), Window.YSize(Window.Size.Nano)); + this.ClientSize = new System.Drawing.Size(Window.XSize(size), Window.YSize(size)); + this.Text = ""; + HideButton("Left"); + HideButton("Center"); + HideButton("Right"); + } + + public OwnMessageBox(Window.Size size, string name, string lblText) + { + SetProgramInfo(); //Name, Version und Copyright setzen + InitializeComponent(); + + this.MinimumSize = new System.Drawing.Size(Window.XSize(Window.Size.Nano), Window.YSize(Window.Size.Nano)); + this.ClientSize = new System.Drawing.Size(Window.XSize(size), Window.YSize(size)); + this.Text = name; + this.labelText.Text = lblText; + HideButton("Left"); + HideButton("Center"); + HideButton("Right"); + } + + public OwnMessageBox(Window.Size size, string name, string lblText, string btnCenter) + { + SetProgramInfo(); //Name, Version und Copyright setzen + InitializeComponent(); + + this.MinimumSize = new System.Drawing.Size(Window.XSize(Window.Size.Nano), Window.YSize(Window.Size.Nano)); + this.ClientSize = new System.Drawing.Size(Window.XSize(size), Window.YSize(size)); + this.Text = name; + this.labelText.Text = lblText; + HideButton("Left"); + this.buttonCenter.Text = btnCenter; + HideButton("Right"); + } + + public OwnMessageBox(Window.Size size, string name, string lblText, string btnLeft, string btnRight) + { + SetProgramInfo(); //Name, Version und Copyright setzen + InitializeComponent(); + + this.MinimumSize = new System.Drawing.Size(Window.XSize(Window.Size.Nano), Window.YSize(Window.Size.Nano)); + this.ClientSize = new System.Drawing.Size(Window.XSize(size), Window.YSize(size)); + this.Text = name; + this.labelText.Text = lblText; + this.buttonLeft.Text = btnLeft; + HideButton("Center"); + this.buttonRight.Text = btnRight; + } + + public OwnMessageBox(Window.Size size, string name, string lblText, string btnLeft, string btnCenter, string btnRight) + { + SetProgramInfo(); //Name, Version und Copyright setzen + InitializeComponent(); + + this.MinimumSize = new System.Drawing.Size(Window.XSize(Window.Size.Nano), Window.YSize(Window.Size.Nano)); + this.ClientSize = new System.Drawing.Size(Window.XSize(size), Window.YSize(size)); + this.Text = name; + this.labelText.Text = lblText; + this.buttonLeft.Text = btnLeft; + this.buttonCenter.Text = btnCenter; + this.buttonRight.Text = btnRight; + } + + public OwnMessageBox(Window.Size size, string name, Window.ControlBox ctrlBox, string lblText, string btnCenter) + { + SetProgramInfo(); //Name, Version und Copyright setzen + InitializeComponent(); + + this.MinimumSize = new System.Drawing.Size(Window.XSize(Window.Size.Nano), Window.YSize(Window.Size.Nano)); + this.ClientSize = new System.Drawing.Size(Window.XSize(size), Window.YSize(size)); + this.Text = name; + if (ctrlBox == Window.ControlBox.Off) + { + this.ControlBox = false; + } + HideButton("Left"); + this.buttonCenter.Text = btnCenter; + HideButton("Right"); + } + + public OwnMessageBox(Window.Size size, string name, Window.ControlBox ctrlBox, string lblText, string btnLeft, string btnRight) + { + SetProgramInfo(); //Name, Version und Copyright setzen + InitializeComponent(); + + this.MinimumSize = new System.Drawing.Size(Window.XSize(Window.Size.Nano), Window.YSize(Window.Size.Nano)); + this.ClientSize = new System.Drawing.Size(Window.XSize(size), Window.YSize(size)); + this.Text = name; + if (ctrlBox == Window.ControlBox.Off) + { + this.ControlBox = false; + } + this.labelText.Text = lblText; + this.buttonLeft.Text = btnLeft; + HideButton("Center"); + this.buttonRight.Text = btnRight; + } + + public OwnMessageBox(Window.Size size, string name, Window.ControlBox ctrlBox, string lblText, string btnLeft, string btnCenter, string btnRight) + { + SetProgramInfo(); //Name, Version und Copyright setzen + InitializeComponent(); + + this.MinimumSize = new System.Drawing.Size(Window.XSize(Window.Size.Nano), Window.YSize(Window.Size.Nano)); + this.ClientSize = new System.Drawing.Size(Window.XSize(size), Window.YSize(size)); + this.Text = name; + if (ctrlBox == Window.ControlBox.Off) + { + this.ControlBox = false; + } + this.labelText.Text = lblText; + this.buttonLeft.Text = btnLeft; + this.buttonCenter.Text = btnCenter; + this.buttonRight.Text = btnRight; + } + + public OwnMessageBox(Window.Size size, string name, Icons.Icon icon, string lblText) + { + SetProgramInfo(); //Name, Version und Copyright setzen + InitializeComponent(); + + this.MinimumSize = new System.Drawing.Size(Window.XSize(Window.Size.Nano), Window.YSize(Window.Size.Nano)); + this.ClientSize = new System.Drawing.Size(Window.XSize(size), Window.YSize(size)); + this.Text = name; + if (icon != Icons.Icon.NoIcon) + { + DrawIcon(icon); + ResizeLabel(); + } + this.labelText.Text = lblText; + HideButton("Left"); + HideButton("Center"); + HideButton("Right"); + } + + public OwnMessageBox(Window.Size size, string name, Icons.Icon icon, string lblText, string btnCenter) + { + SetProgramInfo(); //Name, Version und Copyright setzen + InitializeComponent(); + + this.MinimumSize = new System.Drawing.Size(Window.XSize(Window.Size.Nano), Window.YSize(Window.Size.Nano)); + this.ClientSize = new System.Drawing.Size(Window.XSize(size), Window.YSize(size)); + this.Text = name; + if (icon != Icons.Icon.NoIcon) + { + DrawIcon(icon); + ResizeLabel(); + } + this.labelText.Text = lblText; + HideButton("Left"); + this.buttonCenter.Text = btnCenter; + HideButton("Right"); + } + + public OwnMessageBox(Window.Size size, string name, Icons.Icon icon, string lblText, string btnLeft, string btnRight) + { + SetProgramInfo(); //Name, Version und Copyright setzen + InitializeComponent(); + + this.MinimumSize = new System.Drawing.Size(Window.XSize(Window.Size.Nano), Window.YSize(Window.Size.Nano)); + this.ClientSize = new System.Drawing.Size(Window.XSize(size), Window.YSize(size)); + this.Text = name; + if (icon != Icons.Icon.NoIcon) + { + DrawIcon(icon); + ResizeLabel(); + } + this.labelText.Text = lblText; + this.buttonLeft.Text = btnLeft; + HideButton("Center"); + this.buttonRight.Text = btnRight; + } + + public OwnMessageBox(Window.Size size, string name, Icons.Icon icon, string lblText, string btnLeft, string btnCenter, string btnRight) + { + SetProgramInfo(); //Name, Version und Copyright setzen + InitializeComponent(); + + this.MinimumSize = new System.Drawing.Size(Window.XSize(Window.Size.Nano), Window.YSize(Window.Size.Nano)); + this.ClientSize = new System.Drawing.Size(Window.XSize(size), Window.YSize(size)); + this.Text = name; + if (icon != Icons.Icon.NoIcon) + { + DrawIcon(icon); + ResizeLabel(); + } + this.labelText.Text = lblText; + this.buttonLeft.Text = btnLeft; + this.buttonCenter.Text = btnCenter; + this.buttonRight.Text = btnRight; + } + + public OwnMessageBox(Window.Size size, string name, Window.ControlBox ctrlBox, Icons.Icon icon, string lblText, string btnCenter) + { + SetProgramInfo(); //Name, Version und Copyright setzen + InitializeComponent(); + + this.MinimumSize = new System.Drawing.Size(Window.XSize(Window.Size.Nano), Window.YSize(Window.Size.Nano)); + this.ClientSize = new System.Drawing.Size(Window.XSize(size), Window.YSize(size)); + this.Text = name; + if (ctrlBox == Window.ControlBox.Off) + { + this.ControlBox = false; + } + if (icon != Icons.Icon.NoIcon) + { + DrawIcon(icon); + ResizeLabel(); + } + HideButton("Left"); + this.buttonCenter.Text = btnCenter; + HideButton("Right"); + } + + public OwnMessageBox(Window.Size size, string name, Window.ControlBox ctrlBox, Icons.Icon icon, string lblText, string btnLeft, string btnRight) + { + SetProgramInfo(); //Name, Version und Copyright setzen + InitializeComponent(); + + this.MinimumSize = new System.Drawing.Size(Window.XSize(Window.Size.Nano), Window.YSize(Window.Size.Nano)); + this.ClientSize = new System.Drawing.Size(Window.XSize(size), Window.YSize(size)); + this.Text = name; + if (ctrlBox == Window.ControlBox.Off) + { + this.ControlBox = false; + } + if (icon != Icons.Icon.NoIcon) + { + DrawIcon(icon); + ResizeLabel(); + } + this.labelText.Text = lblText; + this.buttonLeft.Text = btnLeft; + HideButton("Center"); + this.buttonRight.Text = btnRight; + } + + public OwnMessageBox(Window.Size size, string name, Window.ControlBox ctrlBox, Icons.Icon icon, string lblText, string btnLeft, string btnCenter, string btnRight) + { + SetProgramInfo(); //Name, Version und Copyright setzen + InitializeComponent(); + + this.MinimumSize = new System.Drawing.Size(Window.XSize(Window.Size.Nano), Window.YSize(Window.Size.Nano)); + this.ClientSize = new System.Drawing.Size(Window.XSize(size), Window.YSize(size)); + this.Text = name; + if (ctrlBox == Window.ControlBox.Off) + { + this.ControlBox = false; + } + if (icon != Icons.Icon.NoIcon) + { + DrawIcon(icon); + ResizeLabel(); + } + this.labelText.Text = lblText; + this.buttonLeft.Text = btnLeft; + this.buttonCenter.Text = btnCenter; + this.buttonRight.Text = btnRight; + } + + private System.Drawing.Image SetIcon(Icons.Icon icon) + { + this.pictureBoxIcon.BackgroundImage = global::OwnMessageBox.Properties.Resources.Information; + System.Drawing.Image image = null; + + switch (icon) + { + case Icons.Icon.Construction: + image = global::OwnMessageBox.Properties.Resources.Construction; + break; + case Icons.Icon.Email: + image = global::OwnMessageBox.Properties.Resources.Email; + break; + case Icons.Icon.Error: + image = global::OwnMessageBox.Properties.Resources.Error; + break; + case Icons.Icon.FatalError: + image = global::OwnMessageBox.Properties.Resources.FatalError; + break; + case Icons.Icon.Instruction: + image = global::OwnMessageBox.Properties.Resources.Instruction; + break; + case Icons.Icon.Question: + image = global::OwnMessageBox.Properties.Resources.Question; + break; + case Icons.Icon.Telephon: + image = global::OwnMessageBox.Properties.Resources.Telephone; + break; + case Icons.Icon.Tips: + image = global::OwnMessageBox.Properties.Resources.Tips; + break; + case Icons.Icon.Warning: + image = global::OwnMessageBox.Properties.Resources.Warning; + break; + default: + image = global::OwnMessageBox.Properties.Resources.Information; + break; + } + return image; + } + + private void DrawIcon(Icons.Icon icon) + { + this.pictureBoxIcon.BackgroundImage = SetIcon(icon); + this.pictureBoxIcon.Enabled = true; + this.pictureBoxIcon.Visible = true; + } + + private void ResizeLabel() + { + this.labelText.Size = new System.Drawing.Size(this.labelText.Size.Width - 50, 399); + this.labelText.Location = new System.Drawing.Point(63, 13); + } + + private void HideButton(string pos) + { + switch (pos.ToLower()) + { + case "left": + this.buttonLeft.Enabled = false; + this.buttonLeft.Visible = false; + break; + case "center": + this.buttonCenter.Enabled = false; + this.buttonCenter.Visible = false; + break; + case "right": + this.buttonRight.Enabled = false; + this.buttonRight.Visible = false; + break; + } + } + + #region Button + private void buttonLeft_Click(object sender, EventArgs e) + { + //Den Text des Button zurückgeben + Result = sender.ToString().Remove(0, sender.ToString().LastIndexOf(":") + 2); + Close(); + } + + private void buttonCenter_Click(object sender, EventArgs e) + { + //Den Text des Button zurückgeben + Result = sender.ToString().Remove(0, sender.ToString().LastIndexOf(":") + 2); + Close(); + } + + private void buttonRight_Click(object sender, EventArgs e) + { + //Den Text des Button zurückgeben + Result = sender.ToString().Remove(0, sender.ToString().LastIndexOf(":") + 2); + Close(); + } + #endregion + } +} diff --git a/OwnMessageBox/OwnMessageBox.csproj b/OwnMessageBox/OwnMessageBox.csproj new file mode 100644 index 0000000..5c755ad --- /dev/null +++ b/OwnMessageBox/OwnMessageBox.csproj @@ -0,0 +1,116 @@ + + + + + Debug + AnyCPU + {F421906F-D2C3-4AD2-9C1F-17150AC80E17} + WinExe + OwnMessageBox + OwnMessageBox + v4.6.1 + 512 + true + false + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + Form + + + OwnMessageBox.cs + + + + + + OwnMessageBox.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OwnMessageBox/OwnMessageBox.resx b/OwnMessageBox/OwnMessageBox.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/OwnMessageBox/OwnMessageBox.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OwnMessageBox/Program.cs b/OwnMessageBox/Program.cs new file mode 100644 index 0000000..3ac841a --- /dev/null +++ b/OwnMessageBox/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace EOwnMessageBox +{ + static class Program + { + /// + /// Der Haupteinstiegspunkt für die Anwendung. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new OwnMessageBox()); + } + } +} diff --git a/OwnMessageBox/Properties/AssemblyInfo.cs b/OwnMessageBox/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..8e6a712 --- /dev/null +++ b/OwnMessageBox/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Allgemeine Informationen über eine Assembly werden über die folgenden +// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, +// die einer Assembly zugeordnet sind. +[assembly: AssemblyTitle("OwnMessageBox")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("OwnMessageBox")] +[assembly: AssemblyCopyright("Copyright © 2018 ")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly +// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von +// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen. +[assembly: ComVisible(false)] + +// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird +[assembly: Guid("f421906f-d2c3-4ad2-9c1f-17150ac80e17")] + +// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: +// +// Hauptversion +// Nebenversion +// Buildnummer +// Revision +// +// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden, +// übernehmen, indem Sie "*" eingeben: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OwnMessageBox/Properties/Resources.Designer.cs b/OwnMessageBox/Properties/Resources.Designer.cs new file mode 100644 index 0000000..5e13213 --- /dev/null +++ b/OwnMessageBox/Properties/Resources.Designer.cs @@ -0,0 +1,163 @@ +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.42000 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +namespace OwnMessageBox.Properties { + using System; + + + /// + /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + /// + // Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert + // -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert. + // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen + // mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("OwnMessageBox.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + /// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Construction { + get { + object obj = ResourceManager.GetObject("Construction", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Email { + get { + object obj = ResourceManager.GetObject("Email", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Error { + get { + object obj = ResourceManager.GetObject("Error", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap FatalError { + get { + object obj = ResourceManager.GetObject("FatalError", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Information { + get { + object obj = ResourceManager.GetObject("Information", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Instruction { + get { + object obj = ResourceManager.GetObject("Instruction", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Question { + get { + object obj = ResourceManager.GetObject("Question", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Telephone { + get { + object obj = ResourceManager.GetObject("Telephone", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Tips { + get { + object obj = ResourceManager.GetObject("Tips", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Warning { + get { + object obj = ResourceManager.GetObject("Warning", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/OwnMessageBox/Properties/Resources.resx b/OwnMessageBox/Properties/Resources.resx new file mode 100644 index 0000000..dd6c49c --- /dev/null +++ b/OwnMessageBox/Properties/Resources.resx @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\Construction.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Email.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Error.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\FatalError.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Information.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Instruction.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Question.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Telephone.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Tips.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Warning.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/OwnMessageBox/Properties/Settings.Designer.cs b/OwnMessageBox/Properties/Settings.Designer.cs new file mode 100644 index 0000000..7ed57af --- /dev/null +++ b/OwnMessageBox/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace OwnMessageBox.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/OwnMessageBox/Properties/Settings.settings b/OwnMessageBox/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/OwnMessageBox/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/OwnMessageBox/Resources/Construction.png b/OwnMessageBox/Resources/Construction.png new file mode 100644 index 0000000000000000000000000000000000000000..0914ebc5f440ebecb1e068526138551c6e2e41b4 GIT binary patch literal 1801 zcmV+k2ln`hP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;(#7eog=Y26{QH>3Bc;pi(EGvD1? z0(;L6JslFVgD)9?=GA@|~XynG@C`YidC z`xg_lblcsNNsv`9ZVIHv4rYE}pa!>wZ{f!94cL1Nu>Qh35YDZ{ym})ht#mm+Z@GJc zG^LXT4{lc=uRC?D?H7JNk5RQ>JB6(CsaVzZ1`<1#z?`cXp73 z+HvL9Pt0_1a1ap@5lBc#z;`zW@P_jxynN<4Ebn*{GfI4*N_NeZmbo(-1fmUCE5DjX z7j;N!|KQ>gbar+!>gwu1r$MPyvV!Wquf~g~pT@JDPa*cpFicwQF{pS_9x$@n9Y`<8 zYT}LrqPQoYnV0vKV%F?%W;#l6a4?#in^^%vw}+7IOu*9}k0I{cXoT15p-OSBqw`!S z|4#aJe&GY#$0O(B>&#p{YTK%}VEXjwu-kW1bB-cIOiTo;dnL%9l9v5vG9?i=eJ0nj_}Emu-S!$Y-``h_u&^)`6%`>eGKv+TRH_ga6(v~% zw{PFZ_3PKM%K17gU{3QiL>%;oGS$8FUj zc(!w~fQ*a`goK1h_Q1`XH(4-G^tK|%aUXPB=_4wi0E=A>&t$hOY5BjGK8@(i>)ftA z@r4OK`v`pY5(q6R=7=x?rt(cJ^u)S({Z&X2^;1Ng1|0vTI;-<~yJ7bSoFu8_ftzY`y0%q3M*2Z?J zQmNSaKX>jNGjTed5Cq{5<|1N&d3kwQS{eyM4uNR{htT~xxTlUgL*Jdo(>cGFpTMn( ztfIkdqQRr)+P&`hsP!l-KtwzNqFGN*56+%F%S>!G8_R?E`Oon3@0P zvS>WCHZ@#d^;k{Ee|?eF2}EyP?|yBO7(8k&wmzt4GCuvLg+9wxM$6|dIN5#@r=6$K zb-{_+x*9Ybsz=$LGB_$6*j-+VlHJ9ymlUC}XvYZl9jL0Wz|7oC+$z}<;w!k+J>F!5f4v(sS632Ds-Tn+Om+}VDW#MU_!d*_1b#LGO(CU#c4|9; zZX0C_O}vjCmYPxs;6@%=EdN zb2wPmQPxt{a0pn2dbn1HFiL2R4m0=Z@L;tLA=O$0@6}>Pl@>viX_Z<8?$N+n zp+Nw}Qm%oS?%qi8%%KIuxr={l2vMiS%*%Omo8LHo)lu#tOjp6wlJS5zb rJjQU9;K%UHmPrtiXU4@7LMHwKfG!uHnRZ~^00000NkvXXu0mjf`qN(> literal 0 HcmV?d00001 diff --git a/OwnMessageBox/Resources/Email.png b/OwnMessageBox/Resources/Email.png new file mode 100644 index 0000000000000000000000000000000000000000..6224ae067ddcf7dcc40f731d053e17429b4250dd GIT binary patch literal 3044 zcmV004&&004{<008|>004nL003F*009yY002DZ000@zy2&Ck0003k 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 literal 0 HcmV?d00001 diff --git a/OwnMessageBox/Resources/Information.png b/OwnMessageBox/Resources/Information.png new file mode 100644 index 0000000000000000000000000000000000000000..6c532b2c33cc411c77ea14ba3d969c496f41c9dd GIT binary patch literal 2818 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 literal 0 HcmV?d00001 diff --git a/OwnMessageBox/Resources/Question.png b/OwnMessageBox/Resources/Question.png new file mode 100644 index 0000000000000000000000000000000000000000..edfb8bddff975614de07115c978ee8d7f553f624 GIT binary patch literal 2856 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 LNkvXXu0mjfT9)*Y literal 0 HcmV?d00001 diff --git a/OwnMessageBox/Resources/Tips.png b/OwnMessageBox/Resources/Tips.png new file mode 100644 index 0000000000000000000000000000000000000000..a42695df498e9d9e05673ab848c879a4b20fdfd6 GIT binary patch literal 2198 zcmV;H2x<3;P)N2bZe?^J zG%heMIczh2P5=N16iGxuR9Hu?R|!y)=^1w0+S=W=yWQ3v*4>#cw%f7W9giMP4|nX; z(dxSGII@Sbh9rO%MIxx{Nkqj1R77!=Lxf;B6a@mvnS&!7G2|d2`Ey?+`Sa%@Lc_cAjv_3yE<+;7s4&n4g$W&&qRGAGlVbFBeN8x3%?)dhw3?NHoegG#Xz>Lg~k z!Eb@R`%gJgFmV9z3T^yyU@*7~Sc&Q7S$VZk(BOg$o)OMe6HwG*2EN!bT`4h7-)uKL z%dOQsJ9lU3nV{DNH!GTfy<>k3s@SWv%!`4`<$i;`h9D{Vpg1KZ(i4Fsm>cgK|~s5jFdbx-P?xOjy(wLO9JYg%^ZU?rrT&#N3lJvTw8#s^&*&r{^!(E#C# zJTOuLxhX&@%mKH;;&%?3CHs+HEvN(I@cv_EAfa*Ao$nd4ua zQ`U<$PPig4gIMi;)~)eQpz=ph_I^2XtTg)_DoenkwgrtUOOQ~S1BBe@pAQBj^^N_<3!a_i8=>I7VOpeiKSupUz4rO#CTav_ zZ5^_Q2#r0Y9d?9OT1QBsu?H0>Af?RcSCzCG#8(=0{Wyr~P8)f(pyFv#QrZt``RC*F zq&;sRJzEADUyqP7Ng!}g#`?+VKZSGd>U3is$;qup9t zNGeo&TFOOcL2;WwnBS-yC>NToJicIhdtyoqE&qHlnJEhopDLO@&R0!y`GaFZl{+le zlOEJ(D=PP}#t~Ft$0m0~g4kj9Mq16DNDFE~O?|(;N%?zKmWoz|>q=dpy|hAN zuGLyYWOB-3AuT&|uvn?@W}Yn^FK#h-F4bw2MXiLWy30~G8lChQM?%fv$hdYi5_JTE zVY`p=yC{E96&{V)WdzBU47szL2J8hQmA6gM)Hxl`=4_&6X9rfo-o!6U>&N*bi>9RA z(29F&92xCIQ(q)E`VMOCpzR)O=6?XKC)l}A zBKf#O+_~HBAOELuB*LJ0BeetBMzUg{X zZT+~d0%Z&h5%ZWFh0)JErlp5CDe27B*%+I()nWTzduUEBV!QP}$UZc{ZJ%RB&W z!b<4use*Ia`=DD|22IVyQLWBGWn^A7Er`0?K|0U^ z4-~DS8SVs!OAk7O6^@_C9gR=i^E=vX?yzy=uiiU!Xf>4b4#0`iS#b4w8PwF?hq{I~ zxK&vTXLByYp~I=Lef#RMk3M?$yR_NdAt`C){LemHPWAPlg>Xaz7F#p)^j3nnvkXMy z>(JhI2J-U~;FFJ+2R{68<;&d#zY6QuFI{@%$ZF8(dFa9m@MuyAW8>Z6^)-V`UI^7y zhvD)iHhlW&3eT1;i@!~q%^k4lwrwkXef_5)`p^R5F$qw?4ltPRfLu`o!j3agaBU}S z-TK?f_3M{>k2ae-Y}&MR37!GHzWo0xpi-AWP0ca5QM4O&?)YGO-MW|+$OPYjUi#et zi{Lk%SC=e#b8%eUGWRY1PL#C({K0nchlD^FZ=*T54As>KA>-I)*u42So|u@0OOVa$ zh_4~yV;FDASp|b1#*VST8;A=L7cE-!`m)ul-^tmq;eE@tZ65%W^*3NJ{tB_Ne}WAg zmf2RVdMjt)!Ucas&*A{yLi{n}n}~Q<;6P^l*Nh{^gM_odcR75Uc?a=5#6PTBwThdO zkpUu+2xVRk$;rup*7DJB>k$8pxE%49h>H<%5Z_1q4kAu!MwR&A3Si?OA^r^U=ZH%Y zSFTyJCM!NZUWaZv1p1td*8YO{d&KtbekN^Mx literal 0 HcmV?d00001 diff --git a/OwnMessageBox/Resources/Warning.png b/OwnMessageBox/Resources/Warning.png new file mode 100644 index 0000000000000000000000000000000000000000..dd4990da043f568c5acc90855c814d6f983c94ba GIT binary patch literal 1891 zcmV-p2b}ncP)pF2XskIMF-mo5flJA%Nx820000ObVXQn zQ*UN;cVTj60B~VxZgehgWpp4kE-)@RY%_jN000KgNkl^zP9jq}XEILBiL}E&evdA6;icLhe zZlxQIwgHtzAO>U?jirnb7U9hOj}9i4s%&ab)v5Y*?|t{Y``&%;Kf$lX8DC$QdWE8~ zUM@d*Zp#)Qv-!7!j^nC2o__}I0Z&2i?|-Yky?v3{_3&ZPYF}$y=zwnu^DzEd4)peF zoQ{ghHM<`!nnOb5byDfo!HsVNt*wB`gxm{O@3aO*3|*$ z&jY7UVJbHZ#^tW44-IWKnM{`E&<78LkB@sDrji)0y1JspXbdn9zki%isbWlgwl+jWM1b6kJ9g{e;Lte+R3t*Mz4A`})D&QIXbp+jaXFuQdt;Nt^$ zc%a3{69-&ea89RN&655Sl&e&+pa0Gq)9I;m;;E^a`1qIZ!Z)$+9T`r*DvUFIt!Ng=b+Zh%d1?en7a1L(-?hi74F9D!dOEC?%cV9 zyLaz0vGa5jQYd3(WhJxmK0anVE)Jt^&S-W}z~t$I1dc;Ra`G0I{O6#UAFr0tSPD*?1oxGu+#Y1|MhCSPN07mY`CrLGp?x zMjIPzfBJ^3aB})fwZ;+GpZCMHr6LTvJ%XO%Tny3#Zr;3!v9U2sPfufFVggdB6hfhp zO@_DeK0bzzZOKf-38fH~3IQ6m4oH$ok-2HZk2j=YLza4adKW3V>EV~3n%j3*5xRDV(VL@{ zv8$_#RW>|4%!I1wR-|E!n>KA?Hr~g_@Uh>HJ4L_gLWuyMSqX4*kv-m*$?)liAO4$( zeh0!lsif{w;7VM3l*1s2UwvGI){7VB6Y&*Yp(EDU*N35@Av8BPL#b4<3GCgwm)Uq9 zAH&CfJFcav2}KLl$g>onKw^QTYFq5|^BXHTa!@-bO(?LlTX&2aZ{#^&w(tEeBJ{Y+ z(6K8F?Qs!ki;X}lu`NCdmlOYsj-(iLCdb0~K^V&a`46-u#o`h@QkvrS;9PVRPVWv! z2i zepF1C6fJ!YRi8=X=^_ErM07If<+Rbk0VxTwFA8$)?cc0%cg4u7t1$G82L_&YN8g{8 zg;V$qqfEgTMm`h3RG}%IuSDHX%+T}t+0Fj`b&bmrAys1#Ny!sI~DSY zxwJ<)#4LK*9I>@VIx&?793mdH=5RpC;S>7F?B^6nri4ifIT95z#8cu}I_ojSJyHpF z6L(3(h!l$vPGTR>vcGR-iT_wyV!MR}-nFyC{+Q^m1YK!qi>pII8jc1B_2m=uf`a;T zi8;hm_*!5OeE5=>x(1C5}hBp8J literal 0 HcmV?d00001 diff --git a/OwnMessageBox/Window.cs b/OwnMessageBox/Window.cs new file mode 100644 index 0000000..63cc493 --- /dev/null +++ b/OwnMessageBox/Window.cs @@ -0,0 +1,171 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace EOwnMessageBox +{ + public class Window + { + /// + /// Controls the appearance of a window. + /// + public Window() + { + SetWindowSize(Size.Micro); //Initialisiere ein Fenster + } + + public enum Size + { + Nano, + Micro, + Mini, + Midi, + Maxi, + Magnum + } + + public enum ControlBox + { + Off, + On + } + + public enum BorderStyle + { + Fix, + Sizeable + } + + public enum TopMost + { + Off, + On + } + + /// + /// Stores the current window size. + /// + public Size CurrentWindowSize { private set; get; } + + /// + /// Stores the size values of the current window. + /// + public int[] CurrentWindowSizeValue { private set; get; } + + /// + /// Stores the current control box setting. + /// + public ControlBox CurrentControlBox { private set; get; } + + /// + /// Stores the border sizeable setting. + /// + public BorderStyle CurrentBorderStyle { private set; get; } + + /// + /// Stores the window most on top setting. + /// + public TopMost CurrentTopMostStatus { private set; get; } + + /// + /// Sets the widht and height size of a window. + /// + /// A valid window size. Possible options are: 'Nano' (360x270), 'Micro' (480x360), 'Mini' (640x480), 'Midi' (850x640), 'Maxi' (1020x770) und 'Magnum' (1360x1020). + /// Returns the widht and height value of the window. + public int[] SetWindowSize(Size size) + { + int[] windowsSize = new int[2]; + switch (size) + { + case Size.Nano: + windowsSize[0] = 360; + windowsSize[1] = 270; + break; + case Size.Mini: + windowsSize[0] = 640; + windowsSize[1] = 480; + break; + case Size.Midi: + windowsSize[0] = 850; + windowsSize[1] = 640; + break; + case Size.Maxi: + windowsSize[0] = 1020; + windowsSize[1] = 770; + break; + case Size.Magnum: + windowsSize[0] = 1360; + windowsSize[1] = 1020; + break; + default: + windowsSize[0] = 480; + windowsSize[1] = 360; + break; //Size.Micro + } + CurrentWindowSize = size; + CurrentWindowSizeValue = windowsSize; + + return CurrentWindowSizeValue; + } + + /// + /// Sets the controlbox of a window. + /// + /// A valid option. Possible options are 'Off' and 'On'. + /// Returns the control box status. + public Window.ControlBox SetControlBox(ControlBox controlBox) + { + CurrentControlBox = controlBox; + + return controlBox; + } + + /// + /// Sets the border style of a window. + /// + /// A valid option. Possible options are 'Fix' and 'Sizeable'. + /// Returns the control box status. + public Window.BorderStyle SetBorderStyle(BorderStyle borderStyle) + { + CurrentBorderStyle = borderStyle; + + return borderStyle; + } + + /// + /// Sets whether the window is most on top. + /// + /// A valid option. Possible options are 'Off' and 'On'. + /// Returns the most on top status. + public Window.TopMost SetTopMost(TopMost topMost) + { + CurrentTopMostStatus = topMost; + + return topMost; + } + + /// + /// Returns the Window X-Size + /// + /// A valid window size. E.g.: 'Window.Size.Mini' + /// + public static int XSize(Window.Size winSize) + { + var win = new Window(); + return win.SetWindowSize(winSize)[0]; + } + + /// + /// Returns the Window Y-Size + /// + /// A valid window size. E.g.: 'Window.Size.Mini' + /// + public static int YSize(Window.Size winSize) + { + var win = new Window(); + return win.SetWindowSize(winSize)[1]; ; + } + } +} diff --git a/Test_OwnMessageBox/Test_OwnMessageBox/App.config b/Test_OwnMessageBox/Test_OwnMessageBox/App.config new file mode 100644 index 0000000..731f6de --- /dev/null +++ b/Test_OwnMessageBox/Test_OwnMessageBox/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Test_OwnMessageBox/Test_OwnMessageBox/Form1.Designer.cs b/Test_OwnMessageBox/Test_OwnMessageBox/Form1.Designer.cs new file mode 100644 index 0000000..1830571 --- /dev/null +++ b/Test_OwnMessageBox/Test_OwnMessageBox/Form1.Designer.cs @@ -0,0 +1,61 @@ +namespace Test_OwnMessageBox +{ + partial class Form1 + { + /// + /// Erforderliche Designervariable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Verwendete Ressourcen bereinigen. + /// + /// True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Vom Windows Form-Designer generierter Code + + /// + /// Erforderliche Methode für die Designerunterstützung. + /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden. + /// + private void InitializeComponent() + { + this.buttonStart = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // buttonStart + // + this.buttonStart.Location = new System.Drawing.Point(13, 156); + this.buttonStart.Name = "buttonStart"; + this.buttonStart.Size = new System.Drawing.Size(75, 23); + this.buttonStart.TabIndex = 0; + this.buttonStart.Text = "Start"; + this.buttonStart.UseVisualStyleBackColor = true; + this.buttonStart.Click += new System.EventHandler(this.buttonStart_Click); + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(329, 191); + this.Controls.Add(this.buttonStart); + this.Name = "Form1"; + this.Text = "MyForm"; + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Button buttonStart; + } +} + diff --git a/Test_OwnMessageBox/Test_OwnMessageBox/Form1.cs b/Test_OwnMessageBox/Test_OwnMessageBox/Form1.cs new file mode 100644 index 0000000..778d8c9 --- /dev/null +++ b/Test_OwnMessageBox/Test_OwnMessageBox/Form1.cs @@ -0,0 +1,119 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using EOwnMessageBox; + +namespace Test_OwnMessageBox +{ + public partial class Form1 : Form + { + #region Version und Copyright + // Version und Copyright + string programName = Path.GetFileNameWithoutExtension(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); //Den Programmnamen auslesen + string programVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); + static object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false); + string copyright = ((AssemblyCopyrightAttribute)attributes[0]).Copyright; + string icon = Application.StartupPath + "\\Info.bmp"; + //Assembly Datum und Zeit + static DateTime value = AssemblyDateTime(); + string date = value.ToShortDateString(); + string time = value.ToLongTimeString(); + private static DateTime AssemblyDateTime() + { + var version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version; + var buildDateTime = new DateTime(2000, 1, 1).Add(new TimeSpan(TimeSpan.TicksPerDay * version.Build + TimeSpan.TicksPerSecond * 2 * version.Revision)); + //Tage seit dem 1. Januar 2000 und Sekunden seit Mitternacht, (multiplizier mit 2 ergibt das Original) + return buildDateTime; + } + #endregion + + #region Programm-Info + /// + /// Contains the name of the program file + /// + public static string ProgramName { set; get; } + + /// + /// Contains the version of the program file + /// + public static string ProgramVersion { set; get; } + + /// + /// Contains the copyright notice + /// + public static string Copyright { set; get; } + + private void SetProgramInfo() + { + //Name, Version und Copyright setzen + ProgramName = programName; + ProgramVersion = programVersion; + Copyright = copyright; + } + #endregion + + public Form1() + { + SetProgramInfo(); //Name, Version und Copyright setzen + InitializeComponent(); + } + + private void buttonStart_Click(object sender, EventArgs e) + { + var omb = new EOwnMessageBox.OwnMessageBox(Window.Size.Mini); + omb.ShowDialog(); + + var omb1 = new EOwnMessageBox.OwnMessageBox(Window.Size.Nano, "MyMessageBox", "MyMessageBox\nWithout Buttons"); + omb1.ShowDialog(); + + var omb2 = new EOwnMessageBox.OwnMessageBox(Window.Size.Mini, "MyMessageBox", "MyMessageBox\nWith one Buttons", "Center"); + omb2.ShowDialog(); + string buttonPressed = omb2.Result; //Dieser Wert liefert den Beschriftungstext der gedrückten Taste zurück + MessageBox.Show(buttonPressed); //Zeigt welche Taste gedrückt wurde + + var omb3 = new EOwnMessageBox.OwnMessageBox(Window.Size.Midi, "MyMessageBox", "MyMessageBox\nWith two Buttons", "Left", "Right"); + omb3.ShowDialog(); + + var omb4 = new EOwnMessageBox.OwnMessageBox(Window.Size.Micro, "MyMessageBox", "MyMessageBox\nWith three Buttons", "Left", "Center", "Right"); + omb4.ShowDialog(); + + var omb5 = new EOwnMessageBox.OwnMessageBox(Window.Size.Maxi, "MyMessageBox", Window.ControlBox.Off, "MyMessageBox\nWithoutControlBox\nWith one Buttons", "Center"); + omb5.ShowDialog(); + + var omb6 = new EOwnMessageBox.OwnMessageBox(Window.Size.Magnum, "MyMessageBox", Window.ControlBox.Off, "MyMessageBox\nWithoutControlBox\nWith two Buttons", "OK", "Cancel"); + omb6.ShowDialog(); + + var omb7 = new EOwnMessageBox.OwnMessageBox(Window.Size.Mini, "MyMessageBox", Window.ControlBox.Off, "MyMessageBox\nWithoutControlBox\nWith three Buttons", "OK", "Reply", "Cancel"); + omb7.ShowDialog(); + + var omb8 = new EOwnMessageBox.OwnMessageBox(Window.Size.Nano, "MyMessageBox", Icons.Icon.Construction, "MyMessageBox\nWith Icon\nWithout Buttons"); + omb8.ShowDialog(); + + var omb9 = new EOwnMessageBox.OwnMessageBox(Window.Size.Mini, "MyMessageBox", Icons.Icon.Email, "MyMessageBox\nWith Icon\nWith one Buttons", "Center"); + omb9.ShowDialog(); + + var omb10 = new EOwnMessageBox.OwnMessageBox(Window.Size.Midi, "MyMessageBox", Icons.Icon.Error, "MyMessageBox\nWith Icon\nWith two Buttons", "Left", "Right"); + omb10.ShowDialog(); + + var omb11 = new EOwnMessageBox.OwnMessageBox(Window.Size.Micro, "MyMessageBox", Icons.Icon.FatalError, "MyMessageBox\nWith Icon\nWith three Buttons", "Left", "Center", "Right"); + omb11.ShowDialog(); + + var omb12 = new EOwnMessageBox.OwnMessageBox(Window.Size.Maxi, "MyMessageBox", Window.ControlBox.Off, Icons.Icon.Information, "MyMessageBox\nWithoutControlBox\nWith Icon\nWith one Buttons", "Center"); + omb12.ShowDialog(); + + var omb13 = new EOwnMessageBox.OwnMessageBox(Window.Size.Magnum, "MyMessageBox", Window.ControlBox.Off, Icons.Icon.Instruction, "MyMessageBox\nWithoutControlBox\nWith Icon\nWith two Buttons", "OK", "Cancel"); + omb13.ShowDialog(); + + var omb14 = new EOwnMessageBox.OwnMessageBox(Window.Size.Mini, "MyMessageBox", Window.ControlBox.Off, Icons.Icon.Question, "MyMessageBox\nWithoutControlBox\nWith Icon\nWith three Buttons", "OK", "Reply", "Cancel"); + omb14.ShowDialog(); + } + } +} diff --git a/Test_OwnMessageBox/Test_OwnMessageBox/Form1.resx b/Test_OwnMessageBox/Test_OwnMessageBox/Form1.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Test_OwnMessageBox/Test_OwnMessageBox/Form1.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Test_OwnMessageBox/Test_OwnMessageBox/Program.cs b/Test_OwnMessageBox/Test_OwnMessageBox/Program.cs new file mode 100644 index 0000000..2f455a3 --- /dev/null +++ b/Test_OwnMessageBox/Test_OwnMessageBox/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Test_OwnMessageBox +{ + static class Program + { + /// + /// Der Haupteinstiegspunkt für die Anwendung. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/Test_OwnMessageBox/Test_OwnMessageBox/Properties/AssemblyInfo.cs b/Test_OwnMessageBox/Test_OwnMessageBox/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..e8d263d --- /dev/null +++ b/Test_OwnMessageBox/Test_OwnMessageBox/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Allgemeine Informationen über eine Assembly werden über die folgenden +// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, +// die einer Assembly zugeordnet sind. +[assembly: AssemblyTitle("Test_OwnMessageBox")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Test_OwnMessageBox")] +[assembly: AssemblyCopyright("Copyright © 2018 ")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly +// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von +// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen. +[assembly: ComVisible(false)] + +// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird +[assembly: Guid("283ab9ae-b155-4143-8661-8f53021af906")] + +// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: +// +// Hauptversion +// Nebenversion +// Buildnummer +// Revision +// +// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden, +// übernehmen, indem Sie "*" eingeben: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Test_OwnMessageBox/Test_OwnMessageBox/Properties/Resources.Designer.cs b/Test_OwnMessageBox/Test_OwnMessageBox/Properties/Resources.Designer.cs new file mode 100644 index 0000000..b86d2a7 --- /dev/null +++ b/Test_OwnMessageBox/Test_OwnMessageBox/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion: 4.0.30319.42000 +// +// Änderungen an dieser Datei können fehlerhaftes Verhalten verursachen und gehen verloren, wenn +// der Code neu generiert wird. +// +//------------------------------------------------------------------------------ + +namespace Test_OwnMessageBox.Properties +{ + + + /// + /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + /// + // Diese Klasse wurde von der StronglyTypedResourceBuilder-Klasse + // über ein Tool wie ResGen oder Visual Studio automatisch generiert. + // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen + // mit der Option /str erneut aus, oder erstellen Sie Ihr VS-Projekt neu. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Test_OwnMessageBox.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + /// Ressourcenlookups, die diese stark typisierte Ressourcenklasse verwenden. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/Test_OwnMessageBox/Test_OwnMessageBox/Properties/Resources.resx b/Test_OwnMessageBox/Test_OwnMessageBox/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/Test_OwnMessageBox/Test_OwnMessageBox/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Test_OwnMessageBox/Test_OwnMessageBox/Properties/Settings.Designer.cs b/Test_OwnMessageBox/Test_OwnMessageBox/Properties/Settings.Designer.cs new file mode 100644 index 0000000..b008854 --- /dev/null +++ b/Test_OwnMessageBox/Test_OwnMessageBox/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Test_OwnMessageBox.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/Test_OwnMessageBox/Test_OwnMessageBox/Properties/Settings.settings b/Test_OwnMessageBox/Test_OwnMessageBox/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/Test_OwnMessageBox/Test_OwnMessageBox/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Test_OwnMessageBox/Test_OwnMessageBox/Test_OwnMessageBox.csproj b/Test_OwnMessageBox/Test_OwnMessageBox/Test_OwnMessageBox.csproj new file mode 100644 index 0000000..8e8fee1 --- /dev/null +++ b/Test_OwnMessageBox/Test_OwnMessageBox/Test_OwnMessageBox.csproj @@ -0,0 +1,89 @@ + + + + + Debug + AnyCPU + {283AB9AE-B155-4143-8661-8F53021AF906} + WinExe + Test_OwnMessageBox + Test_OwnMessageBox + v4.6.1 + 512 + true + false + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + Form + + + Form1.cs + + + + + Form1.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + {f421906f-d2c3-4ad2-9c1f-17150ac80e17} + OwnMessageBox + + + + \ No newline at end of file