大家好,我是一名菜鸟,刚接触C#,现在有几个问题要请教大家:
(1)我放置了一个textbox控件,用户在其中输入时间如“1:20:51.6”表示1小时20分钟51.6秒,我必须要把这些数据转换为一个float型(秒为单位)或者整形(百毫秒为单位),请问如何实现?
(2)我定义了一个结构体,我将用户输入的信息存入结构体中,如何在listview中进行显示?我定义了listview的column,但是怎么把一个结构体的数据显示出来呢?
(3)我想问下listview是不是不能进行表格显示啊,就是说有格子的那种,view改成detail也不行啊。
(4)我使用了opendialog打开了一个我指定目录下的ini文件,filename实际上就是这个文件的地址,如:d:/test/123.ini,我现在要取出这个地址中ini文件的名称也就是“123”显示在一个textbox中,请问这个怎么实现?
谢谢各位赐教!

解决方案 »

  1.   

    (1)DateTime本来就是DOUBLE型的8BYTES
    (2)自己编程
    (3)LISTVIEW本来就是一种近似表格的式样。除了分割线
    (4)if(opendialog->ShowDialog)
        {
           string filename = opendialog.FileName;
           textbox.Text = filename.Trim(0,textbox.Indexof(".")-1);
        }
      

  2.   

    (1)
    float f = (float)TimeSpan.Parse("1:20:51.6").TotalSeconds;
      

  3.   

    (4)
    System.IO.Path.GetFileNameWithoutExtension("d:/test/123.ini");
      

  4.   

    (1)csrwgs,谢谢你的回答,但是第四个问题我把你的代码试了下,不行,另外问下,trim(0,textbox.Indexof( ". ")-1)中0是什么意思啊,Indexof( ". ")-1是为什么,麻烦耐心的解释下,谢谢!
    我的思路是将openfiledialog.filename的这个字符串从右向左检索,遇到第一个“/”就将右边的部分如“123.ini”取出来,然后再将“123.ini”从左到右检索,遇到“.”后,取前面的字符串,就得到了该ini文件的文件名,但是我不知道如何实现,麻烦赐教!(2)wuyi8808,你的代码我试了也不行,我也不太明白TimeSpan.Parse("1:20:51.6").TotalSeconds的用法。我觉得应该是把输入的字符串,通过“:”将小时、分、秒等分离出来并将字符串型转换为float型,然后再计算小时×3600+分×60+秒,得到最后的float型的值,但是我不知道怎么实现,敬请赐教!
      

  5.   

    class Test
    {
      static void Main()
      {
        float f = (float)System.TimeSpan.Parse("1:20:51.6").TotalSeconds;
        System.Console.WriteLine(f);   // 输出: 4851.6
        string s = System.IO.Path.GetFileNameWithoutExtension("d:/test/123.ini");
        System.Console.WriteLine(s);   // 输出: 123
      }
    }