سلام
من یه user control طراحی کردم که در خودش یک panel رو جای داده ولی وقتی user control رو به فرم می چسبونم این امکان وجود نداره که با drag کردن اشیا بر روی user control قسمت panel اشیایی مثل textbox به panel من در متصل بشن چکار می تونم بکنم؟
سلام
من یه user control طراحی کردم که در خودش یک panel رو جای داده ولی وقتی user control رو به فرم می چسبونم این امکان وجود نداره که با drag کردن اشیا بر روی user control قسمت panel اشیایی مثل textbox به panel من در متصل بشن چکار می تونم بکنم؟
منظورتون رو از اتصال متوجه نمی شم.
اگر منظورتون چسبیدن مرز textbox به panel داخل کنترلتون هست, باید بگم فرمی که شما control خودتون رو توش drag کردید فقط مرزهای control رو ملاک قرار میده و مرز panel رو در نظر نمی گیره که با نزدیک کردن textbox به panel بهش بچسبه.
اما اگه منظورتون از اتصال بدست گرفتم panel داخل control توسط کد هست, کافیه شما panel رو تو قسمت طراحی public, control تعریف کنید. اینطوری می تونید هرجایی که یک نمونه از controlتون درست می کنید به panel اون دسترسی داشته باشید.
نه من می خوام مثله کنترل tabcontrol بتونم یه فضایی داشته باشم که هر شی که خواستم داخل اون قرارا بدم
من تا حالا همچین تجربه ای نداشتم اما تا اگه بخوام یه پیشنهاد کنم می تونم بگم که:
توی drag event پنل control برو و توی sender, method رو مساوی panel child قرار بده.
اینطوری:
private void panel1_DragDrop(object sender, DragEventArgs e)
{
Control hi = (UserControl)sender;
hi.Parent = this.panel1;
}
اینطوری میتونی یک کپی از آبجکتی که کاربر توی فرمت کشیده رو داشته باشی و ....
نه این کار رو کردم نشد
من تو design mode می خوام این کار رو بکنم ها
اگر UC شما فقط شامل یک Panel هست ، و میخواید خصوصیاتی که شما تعریف میکنید به اون اضافه بشه
کافیه بجای اینکه UC از کلاس UserControl به ارث برسه ، از کلاس Panel به ارث برسه
در نهایت شما Panel خواهید داشت که علاوه بر خصوصیات اصلی اون ، خصوصیات جدید که شما برای اون درنظر گفتید هم داره