PDA

View Full Version : سوال: خطا در نمايش كادر رنگي اطراف يك تكست باكس



Programmer 1
شنبه 13 شهریور 1389, 22:49 عصر
سلام ،

يك فرم داريم و يك تكست باكس در آن ، من كدي نوشتم كه وقتي داخل تكست باكس كليك مي كنيم ، يك كادر رنگي دور آن ظاهر مي شه ، تا اينجا كه همه چيز درست كار ميكنه ولي وقتي همين تكست باكس رو ميندازيم داخل يك پنل وقتي روش كليك مي كنيم نتيجه درست در نمي آد ، بعضي مواقع يك مستطيل رنگي خارج از موقعيت هدف رسم مي شه و بعضي وقت ها هم اصلا چيزي رسم نمي شه ؟ مشكل كجاست ؟
برنامه رو ضميمه كردم ، دانلود كنيد و لطفا مشكلش رو حل كنيد و فايل اصلاح شده رو قرار بديد و يا اگر راحته مي تونيد همينجا توضيح بديد .

با تشكر /.

fjm11100
یک شنبه 14 شهریور 1389, 14:06 عصر
را بر مبنای کنترل container که textbox را داخل آن گذاشته ای انجام دهی یعنی مثلا اگر اون تکست باکس توی یک پنل و پنل توی یک گروپ باکس است اگر بخوای موقعیت بالایی تکست باکس را در فرم اصلی پیدا کنی میشه:
موقعیت بالایی تکست باکس در فرم=موقعیت بالایی تکست باکس در پنل+مقعیت بالایی پنل در گروپ باکس + موقعیت بالایی گروپ باکس در فرم

Programmer 1
سه شنبه 16 شهریور 1389, 19:52 عصر
را بر مبنای کنترل container که textbox را داخل آن گذاشته ای انجام دهی یعنی مثلا اگر اون تکست باکس توی یک پنل و پنل توی یک گروپ باکس است اگر بخوای موقعیت بالایی تکست باکس را در فرم اصلی پیدا کنی میشه:
موقعیت بالایی تکست باکس در فرم=موقعیت بالایی تکست باکس در پنل+مقعیت بالایی پنل در گروپ باکس + موقعیت بالایی گروپ باکس در فرم

به نكته جالبي اشاره كرديد ممنونم ولي باز هممشكل پا برجاست ، من عمدا عرض ناحيه اي كه بايد مستطيل رنگي رسم بشه رو كمي بيشتر از ناحيه پنل در نظر گرفتم تا مشكل رو بهتر متوجه بشيد ، تا جايي كه تكست باكس داخل پنل هست هيچ چيزي رسم نمي شه ولي خارج از اون دقيقا در ادامه تكست باكس ادامه مستطيل رسم مي شه ، هر چي باشه مشكل از پنله به نظرم ، واقعا نمي دونم راه حل چيه ؟
اگر لطف كنيد برنامه رو دانلود كنيد و مشكل رو تصحيح كنيد برام بفرستيد ممنون مي شم ، برنامه رو هم طبق توضيحات شما تصحيح كرده ام .

اميدوارم اين دفعه مشكل حل بشه .

با تشكر /.

Programmer 1
یک شنبه 21 شهریور 1389, 22:51 عصر
مشكل هنوز برطرف نشده ، لطفا كسي جواب سوال من رو بده

با تشمر /.

Saman_12
یک شنبه 21 شهریور 1389, 23:37 عصر
توی رویداد Enter تکست از این کد استفاده کن :


int L, W, T, H;
L = txtPhone.Left; W = txtPhone.Width; T = txtPhone.Top; H = txtPhone.Height;

Graphics EG = txtPhone.Parent.CreateGraphics();
Point[] PT = new Point[] { new Point(L, T), new Point(L + W, T), new Point(L + W, T + H), new Point(L, T + H) };

EG.DrawPolygon(new Pen(Color.Red, 2), PT);