Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: ListView + Ошибка Добавлено: 18.04.06 22:06  

Автор вопроса:  GlooM | Web-сайт: newlc.info | ICQ: 348453688 
Пишу программу в VB2005 и, когда пишу данный код:

    Private Sub frmMain_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
       ListView1.View = View.Details
      ListView1.Columns.Add("ФИО", ListView1.Width / 5, HorizontalAlignment.Left)
     ListView1.Columns.Add("E-Mail", ListView1.Width / 5, HorizontalAlignment.Left)
    ListView1.Columns.Add("Название работы", ListView1.Width / 5, HorizontalAlignment.Left)
    ListView1.Columns.Add("Цель", ListView1.Width / 5, HorizontalAlignment.Left)
    ListView1.Columns.Add("Средства", ListView1.Width / 5, HorizontalAlignment.Left)
End Sub

он подчеркивает и ругается! )))
что не так делаю?

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #1 Добавлено: 19.04.06 00:02
Фишка в том, ListView1.Width / 5 возвращает значение типа Double, а конструктор требует значение ширины ByVal width As IntegerОтсюда и ошибка.. Посему правильней будет такой вариант..

Convert.ToInt32(ListView1.Width / 5)

И если уж на то пошло, то это есть good 5 раз получать значение ширины и затем её делить.. потом еще 5 раз конвертировать в Integer.. :-)))
Может все же так будет красивее?
        Dim MyWidth As Integer = ListView1.Width / 5
        ListView1.View = View.Details
        With ListView1.Columns
            .Add("ФИО", MyWidth, HorizontalAlignment.Left)
            .Add("E-Mail", MyWidth, HorizontalAlignment.Left)
            .Add("Название работы", MyWidth, HorizontalAlignment.Left)
            .Add("Цель", MyWidth, HorizontalAlignment.Left)
            .Add("Средства", MyWidth, HorizontalAlignment.Left)
        End With

Ответить

Номер ответа: 2
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #2
Добавлено: 19.04.06 20:29
имхо, всё равно матюкнётся. В строке:
Dim MyWidth As Integer = ListView1.Width / 5

Здесь приравнивание double k integer, если Option Strict включено, не должно пропустить...

Ответить

Номер ответа: 3
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #3 Добавлено: 19.04.06 21:10
если Option Strict включено, то однозначно матюкнется.. В таком случае надо будет делать явное приведение к типу...

Ответить

Номер ответа: 4
Автор ответа:
 GlooM



ICQ: 348453688 

Вопросов: 88
Ответов: 356
 Web-сайт: newlc.info
 Профиль | | #4
Добавлено: 19.04.06 21:12
Спасибо Вам огромное!! :)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам