چه جوري ميشه يه Insert Text بدون محدوديت مثل Paint ساخت ؟!
منظورم اينه كه كاربر به تعداد دلخواه بتونه نوشته هاش رو روي فرم بسازه.
چه جوري ميشه يه Insert Text بدون محدوديت مثل Paint ساخت ؟!
منظورم اينه كه كاربر به تعداد دلخواه بتونه نوشته هاش رو روي فرم بسازه.
سلام
من در حال انجام همین کار هستم به چند روش کار کردم اما هربار یک ارور تازه ای می ده
يكي از مشكل هاي ديگه اي هم كه هست اينه كه براي ساخت Paint بايد روي يه Canvas كنترل Label رو ايجاد كرد ولي توي وي بي 6 نميشه !!سلام
من در حال انجام همین کار هستم به چند روش کار کردم اما هربار یک ارور تازه ای می ده
اون جور كه من ديدم روي PictureBox نميشه اين دستور رو داد.
يه راهي به ذهنم رسيد، كه البته جسارت نميكنم ... شايد شما هم به ذهنتون رسيده باشه.
ولي الان فكر كنم تنها راهي كه براي جلوگيري از اين خطا ممكن هست اينه كه وقتي كاربر روي فرم كليك ميكنه تا تكست رو ايجاد كنه اسم اون رو هم وارد كنه، در اين صورت ديگه اون پيغام خطا رو نميده ... مثل كد زير :
خوب گيريم كه اين مشكل هم حل شد ولي چه جوري واسه ساخت Paint اون رو روي يك PictureBox اضافه كنيم ؟!!!!!!!!!!!!!!!کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید![]()
Last edited by 3Dmajid; 12-02-2009 at 22:43.
البته كد بالا رو بهتره اينجوري بگم، وقتي كاربر خواست نوشته رو روي فرم بزاره، محتويات نوشته اي رو كه ميخواد روي فرم بزار وارد كنه و بعدش برنامه همون محتويات رو به صورت اسم در نظر ميگيره، اين ميتونه راه خوبي باشه ولي متاسفانه باز هم يه مشكلي داره، اسم كنترل نميتونه داراي فضاي خالي باشه بنابراين اگه كاربر بخوا توي محتويات متني كه داره از فضاي خالي استفاده كنه دوباره خطا ميده !!
يا ميشه از يه كلك هم استفاده كرد ... مثلا مختصات محور ايكس رو به صورت رشته در اورد و بعد به جاي اسم ريخت، به نظر من مختصات محور ايكس امكان نداره مساوي با عدد قبليش در بياد. فكر كنم اين راه بهتري باشه.
من اين راه رو تست كردم و هيچ مشكلي نداره. به نظر خودم بهترين راهه.کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ولي مطمئنم كه راه بهتري هست، بدون نياز به اين جور كارا.
vb2008 واقعا از اين لحاظ بهتره.
Last edited by 3Dmajid; 12-02-2009 at 22:56.
آخه چرا هيچ كي من بدبخت رو كمك نميكنه، تو چند تا انجمن ايراني و خارجي سوالم رو پرسيدم ولي هيچ چي جواب نميده !
سلام
ممنون دستت درد نکنه
اما اگه اجازه بدهی من یه راه کار دیگری به مطالب شما اضافه می کنم البته مطلب شما کاملا درست است اما ممی گم که به عوض
مقدار x می تونی از دستور اعداد تصادفی استفاده می کنیم یعنی اینکه اول ما یک عدد تصادفی تولید می کنیم و بعد ان را بجای x قرار بدهیم
دلیل اینکه این کار را انجام دادم این بود کهprivate sub form_mouseup(button as integer, shift as integer, x as single, y as single)
dim thename as string
dim thecaption as string
dim a
randomize
a = int(rnd * 10000000000000#)
thecaption = a
thename = "thename" & a
dim thetext as textbox
set thetext = me.controls.add("vb.textbox", thename)
with thetext
.visible = true
.text = thecaption
.left = x
.top = y
end with
end sub
1- شما InputBox راحذف کن و به عوضش "" بگذار تا سریع تر بتونی تولید کنی که من بجای آن a گذاشتم
2- بعضی مواقع بدلیل تشابه X برنامه ارور نام می دهد که من بجای ان a تولید کردم که میزان تشابه اسمی یک به 10000000000000 باشد
البته باز هم می توانی ساده تر هم بکنی
Last edited by karbon2010; 13-02-2009 at 11:38.
خوب ... مشكل من ديگه حل شد !!!
خيلي خوشحالم، خودم نشستم فكر كردم و بلاخره مشكلم حل شد.
از شما دوست عزيز هم متشكرم بابت كمكت.
سلام
خوشحالم که تونستم کمکت کنم
مثل اين كه الان يه مشكل خيلي خيلي گنده تر دارم.
يه InsertText ساختم ولي وقتي ميخوام كاربر عكس ويرايش شده رو ذخيره كنه نوشته ها ذخيره نميشه !!
چون برنامه به عنوان متن روي پيكچر باكس نميشناسه.
كسي ميتونه كمك كنه ؟
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)