PDA

View Full Version : مشکلات من در list view



وحید صابر
چهارشنبه 09 شهریور 1384, 12:13 عصر
من یک کنترل list view را با تعریف Dim به فرم اضافه کردم. یعنی در Design time چیزی اضافه نکردم.
1-بنابر این نمیتوانم برای event های آن برنامه ای بنویسم. باید چکارکنم؟
2-تیتر ستون اول فقط در سمت چپ ستون نمایش داده میشود و تغییر alignment مربوطه به center مشکلی رو حل نمیکند. در ستونهای بعدی این مشکل وجود ندارد. لطفا کمکم کنید.
ممنون

omid_Ahmadi
چهارشنبه 09 شهریور 1384, 17:57 عصر
من یک کنترل list view را با تعریف Dim به فرم اضافه کردم. یعنی در Design time چیزی اضافه نکردم.
1-بنابر این نمیتوانم برای event های آن برنامه ای بنویسم. باید چکارکنم؟


چرا نمیتونید؟ شما با اضافه کردن تابع موبوط به اون Event به Delegate کنترلی که به صورت Dynamic اضافه کردید میتونی این کار رو انجام بدید. به صورت زیر:



this.listView2.SelectedIndexChanged += new System.EventHandler(this.listView2_SelectedIndexCh anged);

یاشار
جمعه 11 شهریور 1384, 11:17 صبح
البته جسارت نباشه، ولی در VB.NET برای اینکار باید از AddHandler استفاده کرد. کدی که دوستمون گفتن مربوط به #C می‌شه.



Dim a As New ListView
AddHandler a.Click, AddressOf a_Click
Me.Controls.Add(a)


و برای EventHandler



Private Sub a_Click(ByVal sender As Object, ByVal e As EventArgs)

MsgBox("I'm handling the click event")

End Sub

وحید صابر
شنبه 12 شهریور 1384, 09:22 صبح
ممنونم آقا یاشار. میرم که امتحانش کنم.




البته جسارت نباشه، ولی در VB.NET برای اینکار باید از AddHandler استفاده کرد. کدی که دوستمون گفتن مربوط به #C می‌شه.



Dim a As New ListView
AddHandler a.Click, AddressOf a_Click
Me.Controls.Add(a)


و برای EventHandler



Private Sub a_Click(ByVal sender As Object, ByVal e As EventArgs)

MsgBox("I'm handling the click event")

End Sub

وحید صابر
شنبه 12 شهریور 1384, 10:06 صبح
مشکل دوم هنوز پا برجاست ها! با وجود اینکه مشکل کوچکی است، ولی خودتون میدونید مشتری موقع تحویل نرم افزار بهش گیرمیده. ضایع میشه اگر بگم نمیدونم/ نمیتونم.

2-تیتر ستون اول فقط در سمت چپ ستون نمایش داده میشود و تغییر alignment مربوطه به center مشکلی رو حل نمیکند. در ستونهای بعدی این مشکل وجود ندارد.چ

یاشار
شنبه 12 شهریور 1384, 15:35 عصر
این خاصیت listView استاندارده و شما نمی‌تونید تغییرش بدید. موقع طراحی این کنترل اینطور تعریف شده که اولین ستونش Left Aligned باشه. حالا اگه «خیلی» اصرار دارید میتونید یک ستون با عرض صفر اضافه کنید و توی برنامه نادیده بگیریدش که البته راه جالبی نیست. اگر هم «خیلی خیلی» اصرار داردید میتونید یک ListView خودتون بنویسید که کار وقت گیریه. به هر حال مطمئن باشید که «ضایع» نیست.

وحید صابر
دوشنبه 14 شهریور 1384, 10:41 صبح
سلام
بابت این یکی هم ممنون.
از اونجایی که من تازه کار هستم، منظورت رو از نوشتن یه listview نفهمیدم. اگه وقت کردی یکم برام توضیح بده چون بنظرم کار جالبی میاد.