C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >>
■3567  Re[1]: ASP.NET2.0 GridViewの累計合計が分からない
□投稿者/ 七曜 -(2007/05/15(Tue) 17:47:41)
    おそらく、
    [GridView Examples for ASP.NET 2.0: Displaying Summary Data in the Footer]
    http://msdn2.microsoft.com/en-us/library/ms972833.aspx
    を参考にされたのだと思いますが・・・。

    @Defalut.aspxのデザインビューで、DataGridを選択し、プロパティ ウィンドウで
     (1)ShowFooter プロパティをTrueに設定
     (2)RowDataBound イベントにイベントマップ
       (イベント名をダブルクリックすると自動的にイベントハンドラが作成されます。)
    Aページクラス内にPrivateで合計計算用の変数を用意
     Dim priceTotal As Decimal = 0
     Dim quantityTotal As Integer = 0
     これに近いですが、饅頭と煎餅であれば、それ用の変数を用意しましょうね。
    B@-(2)で用意したイベントハンドラ内に集計及び合計(フッター設定)の処理を記述
    ---ここから-----------------------------------------------------------------
    If e.Row.RowType = DataControlRowType.DataRow Then
    ' add the UnitPrice and QuantityTotal to the running total variables
    priceTotal += Convert.ToDecimal(DataBinder.Eval(e.Row.DataItem, _
    "UnitPrice"))
    quantityTotal += Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, _
    "Quantity"))
    ---ここまで-----------------------------------------------------------------
    これが集計処理(データ行であれば合計値を加算する処理)です。
    ---ここから-----------------------------------------------------------------
    ElseIf e.Row.RowType = DataControlRowType.Footer Then
    e.Row.Cells(0).Text = "Totals:"
    ' for the Footer, display the running totals
    e.Row.Cells(1).Text = priceTotal.ToString("c")
    e.Row.Cells(2).Text = quantityTotal.ToString("d")

    e.Row.Cells(1).HorizontalAlign = HorizontalAlign.Right
    e.Row.Cells(2).HorizontalAlign = HorizontalAlign.Right
    e.Row.Font.Bold = True
    End If
    ---ここまで-----------------------------------------------------------------
    ここは、合計行(フッター行)の設定になります。

    恐らく意図通り動作していない原因は、
     イベントがマッピングされていない。(単にDefault.aspx.vbにコピーしたのではイベントハンドラとして動作しません。)
    ためです。
    また、最初の方にも書きましたがpriceTotal、quantityTotalなんかは数量であれば数量用の変数型/変数名で宣言しましょう。
    同時に表示用のフォーマットや計算行
    priceTotal += Convert.ToDecimal(DataBinder.Eval(e.Row.DataItem, _
    "UnitPrice"))
    quantityTotal += Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, _
    "Quantity"))
    や、
    e.Row.Cells(1).Text = priceTotal.ToString("c")
    e.Row.Cells(2).Text = quantityTotal.ToString("d")
    もご希望の表記に変更する必要があるかと思います。

    #英文とはいえ、比較的簡単な内容なのでソースコードとあわせて、内容を理解して試しましょうね。
記事No.3514 のレス /過去ログ13より / 関連記事表示
削除チェック/

■4003  文字列のフォーマット方法について
□投稿者/ あら -(2007/05/31(Thu) 14:30:52)

    分類:[C# (Windows)] 

    お世話になっております。
    下記のように記述した場合の結果は"1.110000e-006"となります。
    これを"1.11e-6"のように値に影響がない"0"は表示されないよう
    にしたいのですが、どのように記述すればよいのでしょうか?

    ご教授、アドバイス等お願いします。
    (.NET 2005 C#)
    -------------
    static void Main(string[] args)
    {
    double i = 1.11;
    double j = Math.Pow(10, -6);

    double k = i * j;
    Console.WriteLine(k.ToString("e"));
    }
親記事 /過去ログ13より / 関連記事表示
削除チェック/

■4049  DateTimeの月と曜日の英語表示方法について
□投稿者/ あら -(2007/06/05(Tue) 09:12:20)

    分類:[C# (Windows)] 

    お世話になっております。

    DateTimeで日時を取得しそれをログに表示させようとしています。
    下記のように記述した場合
     火 6 05 09:05:59 2007
    となりますが、表示させたい形式は
     Tue June 05 09:05:59 2007
    のように、曜日と月は英語にしたいと思っています。

    どのように記述すればよいでしょうか?アドバイス/ご教授お願いします。
    (.NET 2005 C#)

    ----------------------
    DateTime dTime = DateTime.Now;
    Console.WriteLine(dTime.ToString("ddd MMM dd HH:mm:ss yyyy"));
親記事 /過去ログ13より / 関連記事表示
削除チェック/

■4069  Re[1]: DataGridで...を表示しないようにするには?
□投稿者/ 魔界の仮面弁士 -(2007/06/05(Tue) 15:28:53)
    No4048 (ハイフン さん) に返信
    > 分類:[C# (Windows)]
    > Ellipse(...)が表示されてしまいますが、
    省略記号なら「ellipsis」では無いでしょうか。「ellipse」だと楕円ですし。

    > 表示しないようにするにはどうすれば良いのでしょうか?
    分類が(ASP.NET ではなく)Windows になっているところを見ると、
    System.Windows.Forms.DataGrid ですよね。

    .NET 1.1 および 2.0 環境で下記コードを試してみた限り、
    当方では、三点リーダは表示されませんでしたよ。

    ---------------
    using System;
    using System.Data;
    using System.Windows.Forms;
    class Form1 : Form {
    static void Main() { Application.Run(new Form1()); }
    DataGrid dataGrid1 = new DataGrid();
    DataTable dataTable1 = new DataTable();
    public Form1() {
    Controls.Add(dataGrid1);
    dataGrid1.Dock = DockStyle.Fill;
    dataTable1.Columns.Add("長いファイル名");
    dataTable1.Rows.Add(new object[] { @"C:\Program Files\Microsoft SQL Server 2005 Mobile Edition\Samples\NorthwindOleDb\NorthwindOleDb.zip" } );
    dataGrid1.DataSource = dataTable1;
    }
    }
    ---------------
記事No.4048 のレス /過去ログ13より / 関連記事表示
削除チェック/

■4081  Re[2]: DataGridで...を表示しないようにするには?
□投稿者/ ハイフン -(2007/06/05(Tue) 21:58:35)
    No4069 (魔界の仮面弁士 さん) に返信
    > ■No4048 (ハイフン さん) に返信
    >>分類:[C# (Windows)]
    >>Ellipse(...)が表示されてしまいますが、
    > 省略記号なら「ellipsis」では無いでしょうか。「ellipse」だと楕円ですし。
    >
    >>表示しないようにするにはどうすれば良いのでしょうか?
    > 分類が(ASP.NET ではなく)Windows になっているところを見ると、
    > System.Windows.Forms.DataGrid ですよね。
    >
    > .NET 1.1 および 2.0 環境で下記コードを試してみた限り、
    > 当方では、三点リーダは表示されませんでしたよ。
    >
    > ---------------
    > using System;
    > using System.Data;
    > using System.Windows.Forms;
    > class Form1 : Form {
    > static void Main() { Application.Run(new Form1()); }
    > DataGrid dataGrid1 = new DataGrid();
    > DataTable dataTable1 = new DataTable();
    > public Form1() {
    > Controls.Add(dataGrid1);
    > dataGrid1.Dock = DockStyle.Fill;
    > dataTable1.Columns.Add("長いファイル名");
    > dataTable1.Rows.Add(new object[] { @"C:\Program Files\Microsoft SQL Server 2005 Mobile Edition\Samples\NorthwindOleDb\NorthwindOleDb.zip" } );
    > dataGrid1.DataSource = dataTable1;
    > }
    > }
    > ---------------
    有難うございます。

    .NET 2.0になります。

    DataGridではなくデフォルトのDataGridViewを使用していたのが問題だったということなのでしょうか?

記事No.4048 のレス /過去ログ13より / 関連記事表示
削除チェック/

■4083  Re[3]: DataGridで...を表示しないようにするには?
□投稿者/ 魔界の仮面弁士 -(2007/06/05(Tue) 23:44:34)
    # 全文引用は避けてくださいませ。
    
    ■No4081 (ハイフン さん) に返信
    > DataGridではなくデフォルトのDataGridViewを使用していたのが問題だったということなのでしょうか?
    
    使用したことが問題というよりは、DataGridView について質問するときに、
    誤って DataGrid だと書いていたことが問題かな…。
    
    
    > 表示しないようにするにはどうすれば良いのでしょうか?
    
    標準の表示が気に入らないのであれば、CellPainting イベントで好きなように描き換えてしまう、とか。(^_^;)
    
    --------------
    
    // 0列目の内容は 自分で描画する
    if (e.ColumnIndex == 0)
    {
        // セルが選択されているかどうか
        bool selected = DataGridViewElementStates.None
            != (e.State & DataGridViewElementStates.Selected);
    
        // セルの背景を塗りつぶす
        e.PaintBackground(e.ClipBounds, selected);
    
        // 描画するテキスト
        string text = (e.Value ?? String.Empty).ToString();
    
        // テキストの色
        Color color = selected ? e.CellStyle.SelectionForeColor : e.CellStyle.ForeColor;
    
        // テキストの配置など
        TextFormatFlags flags = TextFormatFlags.Default | TextFormatFlags.VerticalCenter;
    
        // 文字列の描画
        TextRenderer.DrawText(e.Graphics, text, e.CellStyle.Font, e.CellBounds, color, flags);
    
        // 描画処理を自分で行った場合は true
        e.Handled = true;
    }
記事No.4048 のレス /過去ログ13より / 関連記事表示
削除チェック/

■4139  GataGridViewで新規行を表示しない
□投稿者/ ratte -(2007/06/07(Thu) 17:56:05)

    分類:[VB.NET (Windows)] 

    Windows XP
    VB.NET2005

    お世話になります.

    Windowsアプリを作っています.
    DataGridViewにデータを表示させたいのですが,データが入っていない新しい行(インデックスが*)を表示したくありません.
    DataGridViewのReadOnlyプロパティをTrueにする,ということをやってみたのですが表示されたままです.

    コードは以下の様に書いてます.
    -----------------------------------------------------------------
    Dim vDataTable As New DataTable
    Dim vDtRow As DataRow

    '列定義
    vDataTable.Columns.Add("列A")
    vDataTable.Columns.Add("列B")

    '新規行作成
    vDtRow = vDataTable.NewRow

    'セルの内容
    vDtRow.Item(0) = ("10000)
    vDtRow.Item(1) = ("あいうえお")

    '行追加
    vDataTable.Rows.Add(vDtRow)

    'DataGridViewにデータをセット
    DataGridView1.DataSource = vDataTable

    '新規行を表示しない
    DataGridView1.ReadOnly = True

    -----------------------------------------------------------------

    ReadOnlyを使うことが見当はずれなのでしょうか?
    ご存知の方がいらっしゃいましたらご教授ください.
    宜しくお願い致します.
親記事 /過去ログ13より / 関連記事表示
削除チェック/

■4165  起動時のアプリの終了のさせ方
□投稿者/ あら -(2007/06/08(Fri) 14:16:28)

    分類:[C# (Windows)] 

    お世話になっております。

    アプリの起動時に条件によって、アプリを起動させないで終了させようと思っています。
    "Test1"のように記述した場合はアプリは起動してしまいます。
    "Test2"のように記述した場合は例外が発生します。(Program.cs内のApplication.Run(new MainWindow());でObjectDisposedException)

    どのように記述すればよいのでしょうか?
    アドバイス、ご教授お願いします。
    (.NET 2005 C#)
    ----------
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();

    Test1();
    //Test2();
    }

    private void Test1()
    {
    Application.ExitThread();
    }
    private void Test2()
    {
    this.Close();
    }

    }
親記事 /過去ログ13より / 関連記事表示
削除チェック/

■4260  Re[3]: DataGridViewにチェックボックスを表示する
□投稿者/ ratte -(2007/06/12(Tue) 09:29:03)
    魔界の仮面弁士さん,ダッチさん,返信ありがとうございます.

    魔界の仮面弁士さんの非連結の方法でチェックボックスを作ることが出来ました.

    別の方法でも出来たので一応そちらも記述しておきます.

    ======================================================================
    Dim vDataTable As New DataTable
    Dim grdClmTxt As DataGridViewTextBoxColumn
    Dim grdClmChk As DataGridViewCheckBoxColumn

    '------------------
    '列生成
    '------------------
    vDataTable.Columns.Add("列A")
    vDataTable.Columns.Add("列B")

    '--------------------------------
    'DataGridView表示設定
    '--------------------------------
    'データの自動生成を抑える
    DataGridView1.AutoGenerateColumns = False

    '列定義
    grdClmTxt = New DataGridViewTextBoxColumn
    grdClmTxt.Name = "列A"
    grdClmChk = New DataGridViewCheckBoxColumn
    grdClmChk.Name = "列B"

    DataGridView1.Columns.Add(grdClmTxt)
    DataGridView1.Columns.Add(grdClmChk)

    'データ割付け
    DataGridView1.Columns("列A").DataPropertyName = "列A"
    DataGridView1.Columns("列B").DataPropertyName = "列B"

    'データBind
    DataGridView1.DataSource = vDataTable

    '実データ投入
    vDataTable.Rows.Add("進学", True)
    vDataTable.Rows.Add("進学", True)
    vDataTable.Rows.Add("就職", False)
    vDataTable.Rows.Add("進学", True)

    =====================================================================
記事No.4244 のレス / END /過去ログ13より / 関連記事表示
削除チェック/

■4382  Re[14]: ボタンでlistviewアイテムの取得
□投稿者/ 美流久 -(2007/06/15(Fri) 13:03:04)

    まるるうさん
    とりこびとさん
    mあさん
    こんにちは
    コードありがとうございます。
    サンプルコード使いませんでしたが、解決の道が分かりました。
    ---------------
    間違えてたコード
    n=0←(.selectedites(0).index)
    dim index as integer
    index +=4

    picturebox1.image=image.fromfile(.items(n+index).text)
    ---------------
    解決したコード
    n=0←(.selectedites(0).index)
    n +=4

    picturebox1.image=image.fromfile(.items(n).text)
    ---------------
    としました。
    変数indexを変える事を考えてばかりでnをどうこうする事を考えてませんでしたorz
    listviewで記述したindex(変数n)を+4にし、出来ました。
    私の説明不足だったと思いました。

    すみません&ありがとうございました。
記事No.4241 のレス / END /過去ログ14より / 関連記事表示
削除チェック/

■4441  DataGridの行の表示方法
□投稿者/ KEI -(2007/06/18(Mon) 11:01:52)

    分類:[C# (ASP.NET)] 

    Oraclからデータを取得して、ASPのDataGridに表示するソースを作っています。
    データは正常に取得できて表示もできるのですが、以下のような表示をさせたいのですが、さっぱり見当もつきません。
    よろしくお願いします。


    -----------------------------------
    項目A   項目B  項目C  項目D-1
    -----------------------------------
    項目A   項目B  項目C  項目D-2
    -----------------------------------
    項目A   項目B  項目C  項目D-3
    -----------------------------------
    項目A   項目B  項目C  項目D-4
    -----------------------------------

    というデータに対して

    -----------------------------------
    項目A   項目B  項目C  項目D-1
    -----------------------------------
    NULL   NULL   NULL  項目D-2
    -----------------------------------
    NULL   NULL   NULL 項目D-3
    -----------------------------------
    NULL   NULL   NULL 項目D-4
    -----------------------------------

    上記の様に表示させたいのです。(NULLのところを表示させない)



    どうかご教授よろしくお願い致します。


親記事 /過去ログ14より / 関連記事表示
削除チェック/

■4612  Re[13]: 画像のクリアについて
□投稿者/ 囚人 -(2007/06/20(Wed) 16:42:55)
    >どうしても共有しているかどうか不明なものについては仕方ないとしても、自分で管理可能なものについては極力管理する努力をするべきです。
    
    まぁ、そうなんですけど、入れ替えのときは必ず Dispose という流れになっているのはどうかなと思いまして。
    例えば、以下の2つのパターンによって変わりませんか?
    
    -----------------(1)
    class Form1 : Form
    {
    	void f1()
    	{
    		pictureBox.Image = Image.FromFile(filePath);
    	}
    
    	voidf2()
    	{
    		pictureBox.Image.Dispose();
    		pictureBox.Image = Image.FromFile(filePath);
    	}
    }
    
    -----------------(2)
    class Form1 : Form
    {
    	Image image;
    
    	void f0()
    	{
    		image = Image.FromFile(filePath);
    	}
    
    	void f1()
    	{
    		pictureBox.Image = image;
    	}
    
    	voidf2()
    	{
    		// ?
    //		pictureBox.Image.Dispose();
    		pictureBox.Image = Image.FromFile(filePath);
    	}
    }
    
    
    
    >可能性はあるけど、それ前提でやってたら Dispose() も using もまるで出来なくなっちゃいますぜ。
    
    という事なので、管理できるかどうかの前提を持つべきだとは思います。
    
記事No.4558 のレス /過去ログ14より / 関連記事表示
削除チェック/

■4359  Re[6]: [VB6] open 書き込みバッファのデフォルトサイズ
□投稿者/ 魔界の仮面弁士 -(2007/06/14(Thu) 17:13:20)
    誤記とは思いますが、一応補足。


    No4351 (mあ さん) に返信
    > Print # ,... Print VbCrLf
    > も高速化の手の一つですね。

    vbCrLf の指定は不要です。
    Print # ステートメントは、自動的に末尾に CrLf 改行を挿入しますので。


    -- (1)末尾改行ありで出力するとき
    Print #f, "abcdefg"
    ----------------------------------------

    -- (2)末尾改行無しで出力するとき
    Print #f, "abcdefg";
    ----------------------------------------

    -- (3)改行だけを出力するとき
    Print #f,
    ----------------------------------------

    -- (4)末尾改行無しで、1行出力
    Print #f, Tab(1);"abcdefg";
    ----------------------------------------


    「最終行に改行を含める CSV 出力」では (1) を。

    Do Until RS.EOF
      Debug.Print #f, CStr(F1.Value) & "," & CStr(F2.Value) & "," & CStr(F3.Value)
      RS.MoveNext
    Loop


    「最終行に改行を含めない CSV 出力」では (4) を。

    Do Until RS.EOF
      Debug.Print #f, Tab(1); CStr(F1.Value) & "," & CStr(F2.Value) & "," & CStr(F3.Value);
      RS.MoveNext
    Loop
記事No.4337 のレス /過去ログ14より / 関連記事表示
削除チェック/

■4354  Re[5]: [VB6] open 書き込みバッファのデフォルトサイズ
□投稿者/ 魔界の仮面弁士 -(2007/06/14(Thu) 16:08:51)
    2007/06/14(Thu) 16:30:47 編集(投稿者)

    VB6 の高速化コード集。
    可読性に難のあるコードも多いので、使いどころに注意。
    http://www.xbeat.net/vbspeed/


    No4350 (mあ さん) に返信
    >>記事の内容を読み違えているような……。
    > 読み違えています?バッファリングのことだと認識していたのですが・・・
    バッファです。バッファなんですが、記事中で書かれていた内容は、
     『32000 を指定すると高速アクセスできる。』
     『関数内で合計 65000 程度のバッファしか確保できない。』
    であって、
     「32000 〜 65000 の範囲を指定することで、書き込み処理を高速化出来る」
    では無いと思いますよ。

    元の記事にもヘルプにも、65000 という値を Len に指定できるとは
    書かれていませんし、実際に指定すると、実行時エラーとなりましたから。

    > ノンバッファリングの Print があるってことですか?
    > VB の書き込みはバッファリング無しが基本なんですか?

    文字列連結の話は、たとえば
     Set RS = Con.Execute(SQL)
     Do Until RS.EOF
      S = S & RS.Collect("ID") & ","
      RS.MoveNext
     Loop
     Print #f, S;
    のような書き方をすると低速であり、
     Set RS = Con.Execute(SQL)
     Do Until RS.EOF
      Print #f, RS.Collect("ID") ","
      RS.MoveNext
     Loop
    の方が結果的には高速であった…という話です。

    もっとも、Recordset のテキスト化なら、GetString メソッドを併用した方が早いですけれどね。


    でもって、Mid ステートメントの件は:
    ------------
    Dim S As String

    S = "aaa"
    Debug.Print StrPtr(S), "["; S; "]"
    S = S & "bbb"
    Debug.Print StrPtr(S), "["; S; "]"

    S = "aaa "
    Debug.Print StrPtr(S), "["; S; "]"
    Mid(S, 4) = "bbb"
    Debug.Print StrPtr(S), "["; S; "]"
    ------------

    後者(Midステートメント)では、同じアドレスがそのまま使われていることを確認できますが、
    前者(& 演算子)では、文字列処理の前後で、変数のアドレスが変更されていることがわかります。

    これは単純に連結すると、新たな文字列領域の確保・複写・元の領域の破棄が行われるためです。
    そのため文字列が長くなればなるほど、加速度的に処理時間がかかるようになります。

    Mid ステートメントは、最初に確保した文字列領域内を書き換える形で動作するので、
    メモリの再確保等が行われず、高速に処理される…という話ですね。
記事No.4337 のレス /過去ログ14より / 関連記事表示
削除チェック/

■4883  Re[10]: SHFreeMallocの使い方
□投稿者/ 魔界の仮面弁士 -(2007/06/27(Wed) 22:32:56)
    2007/06/27(Wed) 23:03:00 編集(投稿者)

    No4881 (倉田 有大 さん) に返信
    > でもPathに何もはいってきませんでした。
    > うーん、次はどうしようかな。

    string ではなく、StringBuilder 型で受け取る必要があるのでは。

    http://msdn.microsoft.com/library/ja/cpguide/html/cpconDefaultMarshalingForStrings.asp
    http://msdn2.microsoft.com/ja-jp/library/s9ts558h%28VS.80%29.aspx
    》 String クラスと StringBuilder クラスのマーシャリングの動作は似ています。
    》 主な違いは、文字列は変更不可であるのに対して、StringBuilder バッファの内容は
    》 呼び出し先によって変更でき、呼び出し元へとコピーできることです。


    試してはいませんが、たぶん、こんな感じかな、と。

    [DllImport("shell32.dll")]
    static extern bool SHGetSpecialFolderPath(
    IntPtr hwndOwner, [Out] StringBuilder lpszPath, int nFolder, bool fCreate);

    --------------
    <追記>

    ……って、指定しているのは CSIDL_NETWORK(マイ ネットワーク) でしたか。

    マイ ネットワーク フォルダは、物理ディレクトリではなく、仮想ディレクトリなので
    パスは得られないと思いますけれども。

    無理に対応するとすれば、
     if(nFolder==ShellSpecialFolder.CSIDL_NETWORK)
      return "::{208D2C60-3AEA-1069-A2D7-08002B30309D}";
    みたいにするとか、かな。
記事No.4741 のレス /過去ログ14より / 関連記事表示
削除チェック/

■5112  windouwsアプリで処理中画面表示
□投稿者/ ゆっきー -(2007/07/04(Wed) 17:19:35)

    分類:[VB.NET (Windows)] 

    環境[VS2005]

    お世話になっております。
    VB.netでWindowsアプリの画面を作成しています。
    メインとなる画面で時間がかかる処理をしている間
    処理中画面を表示しようとしています。

    ボタンクリック(処理開始)

    処理中画面表示(メイン画面では時間がかかる処理を処理中)

    処理中画面を消す(処理終了)

    という流れです。

    処理中画面ではプログレスバーをタイマーで適当に動かします。
    (処理が終了とともに100%にするなどはしません)

    下記コードで試したのですが
    処理開始で処理中画面を表示し、
    処理終了で処理中画面を削除はできたのですが、
    処理中画面のプログレスバーが動作してくれません。

    ---------------------------------------------------
    メイン画面での処理
    Buttonのclickイベント(

    '処理中画面表示
    dim subForm as new FormSub
    subForm.Show()

    '時間がかかる処理(仮にスリープ)
    System.Threading.Thread.Sleep(5000)

    '処理中画面消す
    subForm.Close()
    )

    FormSubでの処理
    FormのLoadイベント(

    ProgressBar.Minimum = 0
    ProgressBar.Maximum = 100
    Timer.Enabled = true
    )
    TimerのTickイベント(

    'プログレスバーを適当に動かす
    gValue += 1
    if gValue = ProgressBar.Maximum then
    gValue = 0
    end if
    Me.ProgressBar.Value = gValue
    )
    ----------------------------------------------------

    時間のかかる処理をスリープから
    メッセージボックスで"テスト"と表示する処理に変えたら、
    処理中画面のプログレスバーが動きました。

    -----------------------------------------------------
    メイン画面での処理
    Buttonのclickイベント(

    '処理中画面表示
    dim subForm as new FormSub
    subForm.Show()

    '時間がかかる処理
    MsgBox("テスト",MsgBoxStyle.OkOnly,"テスト")

    '処理中画面消す
    subForm.Close()
    )
    ------------------------------------------------------

    何かお分かりになられましたらご教授ください。
    お願いいたします。
親記事 /過去ログ15より / 関連記事表示
削除チェック/

■5367  アクセスしなければ値が確定しない
□投稿者/ Gustaf -(2007/07/11(Wed) 14:29:28)

    分類:[VB.NET] 

    2007/07/13(Fri) 17:27:30 編集(投稿者)

    開発環境:VS2005
    言語  :VB.NET

    指定したフォルダ内の変更や作成されたファイルを取得し、複製する処理を作成しています。
    動作はするようになったのですが、起動時の動作が不可解なので質問させてください。

    起動時にファイルリストを取得しているはずなのに
    ・起動時にファイルリストを取得
    ・対象フォルダのファイルを変更
    ・ボタンを押して新たにファイルリストを取得

    以上の処理が終わった後、
    変更前と変更後のファイルリストを比較しても内容が同じままです。
    どうやら起動時にファイルリストがきちんと取れていないようなのですが、
    コメント化してある値のチェックを行うことで意図した値が取得できます。

    どうにも原因がつかめないので、どなたかアドバイスをお願いします。

    ' 以下ソース
    Imports System.IO
    Public Class Form1
    ' ファイルリスト格納用
    Private FileList As New List(Of FileInfo)
    Private Const strTargetFolder = "D:\Data\FolderWatch\1\"

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    ' 既存のファイルリストを取得
    FileList.AddRange(New DirectoryInfo(strTargetFolder).GetFiles)
    ' ------------------------------------------
    ' ここを有効にすることで正しく動作する
    ' 既存のファイルリストを出力
    'For Each f As FileInfo In FileList
    ' Debug.WriteLine(f.Name & ":" & f.Length)
    'Next
    ' ------------------------------------------
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    ' 最新のファイルリストを取得
    Dim NewFileList As New List(Of FileInfo)
    NewFileList.AddRange(New DirectoryInfo(strTargetFolder).GetFiles)
    ' 前回のファイルリストを出力
    For Each f As FileInfo In FileList
    Debug.WriteLine(f.Name & ":" & f.Length)
    Next
    ' 最新のファイルリストを出力
    For Each f As FileInfo In NewFileList
    Debug.WriteLine(f.Name & ":" & f.Length)
    Next
    ' データ更新
    FileList = NewFileList
    End Sub
    End Class
親記事 /過去ログ15より / 関連記事表示
削除チェック/

■5725  ToolStripSplitButtonのドロップが効く範囲
□投稿者/ まんぼう -(2007/07/21(Sat) 19:54:05)

    分類:[.NET 全般] 

    2007/07/21(Sat) 20:04:03 編集(投稿者)

    VB2005, WinFormです。

    ToolStripButtonで▼の部分を押さないとドロップダウンリストが開かないのですが、
    これを見出しの部分も含めてどこをクリックしてもドロップダウンリストが開くようにしたいです。
    かつ、見出しと▼の分割線も消したいです。

    デザイナ上でToolStripButtonをクリックした時にはこの動作になるようですが…
    何か方法はありますでしょうか?

    ※図で補足

    現状
    --------------
    |ファイル |▼|
    --------------
    ^^
    ↑DropDownListが開くのはここだけ
    希望
    --------------
    |ファイル ▼|
    --------------
    ^^^^^^^^^^^^
    ↑全部 ↑分割線も消したい


    ※訂正
    ×ToolStripButton
    ○ToolStripSplitButton
親記事 /過去ログ16より / 関連記事表示
削除チェック/

■5816  Re[5]: DateTimePickerの初期値について。
□投稿者/ kk -(2007/07/24(Tue) 11:04:12)
    みなさん、返信ありがとうございます。

    なんとか無事、解決できました。
    ありがとうございました。


    以下詳細。
    ----------------------------------------------------------------------
    this.dateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.Short;
    this.dateTimePicker1.ShowCheckBox = true;

    public Form1()
    {
    //このタイミングだとTextの方が更新されない。
    dateTimePicker1.Value = DateTime.Now.AddDays(-7);
    dateTimePicker1.Checked = false;
    }
    private void Form1_Load(object sender, EventArgs e)
    {
    //このタイミングだとうまく更新できた。
    dateTimePicker1.Value = DateTime.Now.AddDays(-7);
    dateTimePicker1.Checked = false;
    }

    private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
    {
    Console.Write(dateTimePicker1.Value + "=" + dateTimePicker1.Text + "\n");
    }
    ----------------------------------------------------------------------

    dateTimePicker1_ValueChanged で Value が更新されたタイミングでValueとTextを取得してみた所、
    Form1処理で1回目が呼ばれ、Valueの値は更新されるが、Textが空。
    Form1_Load処理で2回目が呼ばれ、このタイミングだと両方が更新されました。

    ちなみに新規で作成してみてもForm1処理タイミングでは駄目でした。


記事No.5801 のレス / END /過去ログ16より / 関連記事表示
削除チェック/

■5923  Re[2]: DataGridViewの表に関して
□投稿者/ ぽぴ王子 -(2007/07/26(Thu) 12:15:18)
>
    こんな感じで DataGridview を表示しているときに
    
    +------+-------------+
    |  ID  |    NAME     |
    +------+-------------+
    | 0033 | 刈歩菜良    |
    +------+-------------+
    | 0034 | R・田中一郎 |
    +------+-------------+
    | 0051 | ぽぴ王子    |
    +------+-------------+
    | 0054 | シャノン    |
    +------+-------------+
    | 0076 | とりこびと  |
    +------+-------------+
    | 0095 | 片桐 継     |
    +------+-------------+
    |                    |
    |                    | ← ここが空白になるので、何かほしい
    |                    |
    |                    |
    |                    |
    |                    |
    |                    |
    +--------------------+
    
    ってことなのかな?と思いました。
    だとすると、データソースとして与えるテーブルにダミーの行を追加する
    ぐらいしか思いつきません。
    あ、あと表示のみの場合に限ります。編集されると困るし。
    
    田中さんも書かれていますが、質問したいことが相手に伝わらないと
    回答を得るのも難しいんじゃないかと思います。
    言いたいことが伝わるかどうか、質問内容を投稿する前に一度読み直して
    みるのもいいんじゃないでしょうか。
記事No.5910 のレス /過去ログ16より / 関連記事表示
削除チェック/

<前の20件 | 次の20件>

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >>

ヒット件数が多いので過去ログ1〜20 までの検索結果 / 過去ログ21からさらに検索→

パスワード/

- Child Tree -