PDA

View Full Version : مشكل با ListBox



Reza,M
یک شنبه 26 دی 1389, 23:42 عصر
با سلام
من يك ليست باكس در برنامه ام دارم كه متن فارسي طولاني در آن نوشته شده است
مشكلم در اسكرول افقي است كه اگر HorizontalScrollbar = True باشد سر خط متن را نشون نمي دهد اگر هم False باشد ابتداي متن نشون ميدهد ولي اسرول براي بقيه متن نداريم ! در ضمن RightToLeft=Yes

AlgorithmX
دوشنبه 27 دی 1389, 15:40 عصر
مشكلم در اسكرول افقي است كه اگر HorizontalScrollbar = True باشد سر خط متن را نشون نمي دهد اگر هم False باشد ابتداي متن نشون ميدهد ولي اسرول براي بقيه متن نداريم ! در ضمن RightToLeft=Yes

سلام!
دوست گلم مشکلتو درست نفهمیدم میشه عکس برنامتو بزاری؟

reza_edu
دوشنبه 27 دی 1389, 16:21 عصر
من تست کردم هم سرخط هم ته خط رو نشون میده! درسته اینم مثالش.

MortezaGity
دوشنبه 27 دی 1389, 16:36 عصر
دوست عزیز شما که کدتو نذاشتی ولی احتمالا یه جای کدی که نوشتی ایراد داره. این کد رو ببین. این کارتو راه می ندازه. موفق باشی.:لبخندساده:



private void DisplayHScroll()
{
// Make no partial items are displayed vertically.
listBox1.IntegralHeight = true;

// Add items that are wide to the ListBox.
for (int x = 0; x < 10; x++)
{
listBox1.Items.Add("Item " + x.ToString() + " is a very large value that requires scroll bars");
}

// Display a horizontal scroll bar.
listBox1.HorizontalScrollbar = true;

// Create a Graphics object to use when determining the size of the largest item in the ListBox.
Graphics g = listBox1.CreateGraphics();

// Determine the size for HorizontalExtent using the MeasureString method using the last item in the list.
int hzSize = (int) g.MeasureString(listBox1.Items
[listBox1.Items.Count -1].ToString(),listBox1.Font).Width;
// Set the HorizontalExtent property.
listBox1.HorizontalExtent = hzSize;
}

AlgorithmX
دوشنبه 27 دی 1389, 20:57 عصر
private void DisplayHScroll()
{
// Make no partial items are displayed vertically.
listBox1.IntegralHeight = true;

// Add items that are wide to the ListBox.
for (int x = 0; x < 10; x++)
{
listBox1.Items.Add("Item " + x.ToString() + " is a very large value that requires scroll bars");
}

// Display a horizontal scroll bar.
listBox1.HorizontalScrollbar = true;

// Create a Graphics object to use when determining the size of the largest item in the ListBox.
Graphics g = listBox1.CreateGraphics();

// Determine the size for HorizontalExtent using the MeasureString method using the last item in the list.
int hzSize = (int) g.MeasureString(listBox1.Items
[listBox1.Items.Count -1].ToString(),listBox1.Font).Width;
// Set the HorizontalExtent property.
listBox1.HorizontalExtent = hzSize;
}




ببخشید احتمالا این کدهای شما به زبان #C نیست!!! و اینجا تالار VB

MortezaGity
دوشنبه 27 دی 1389, 21:25 عصر
ای بابا این روزا دیگه کانورتور که ریخته. خب مفهوم، همون مفهومه دیگه. حالا یعنی نمیشه کانورتش کرد؟:تشویق:

Reza,M
سه شنبه 28 دی 1389, 00:02 صبح
من تست کردم هم سرخط هم ته خط رو نشون میده! درسته اینم مثالش.

مشكلم در اسكرول افقي است كه اگر HorizontalScrollbar = True باشد سر خط متن را نشون نمي دهد اگر هم False باشد ابتداي متن نشون ميدهد ولي اسرول براي بقيه متن نداريم ! در ضمن RightToLeft=Yes
با سلام
البته كه من اين كار ها رو انجام داده بودم
مشكل من زماني بوجود مياد كه Anchor=Top, Bottom, Left, Right باشه ! زماني كه سايز ListBox كوچك باشه مشكلي نيست

Reza,M
سه شنبه 28 دی 1389, 00:09 صبح
سلام!
دوست گلم مشکلتو درست نفهمیدم میشه عکس برنامتو بزاری؟
سلام
سايز ListBox با سايز فرم تغيير ميكنه يعني اگه فرم رو كوچك كني ابزارهاي فرم هم كوچك ميشن ! در حالت كوچك بودن مشكلي نيست ولي وقتي MaximumSize ميشه اسكرول به انتهاي طولاني ترين خط ميره و سر خط رو نشون نمي ده .

reza_edu
سه شنبه 28 دی 1389, 00:45 صبح
تست میکنم جواب رو میذارم.

Reza,M
چهارشنبه 29 دی 1389, 16:05 عصر
دوستان محترم مشكل هنوز سر جاشه ؟؟؟