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

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

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

全過去ログを検索

<< 0 >>
■10704  Re[20]: プログラムの意見交換はいかがですか
□投稿者/ 渋木宏明(ひどり) -(2007/11/24(Sat) 09:05:16)
>
記事No.10626 のレス /過去ログ24より / 関連記事表示
削除チェック/

■11176  Re[2]: CSVファイルのデータ間引き
□投稿者/ mあ@反省中 -(2007/12/08(Sat) 12:57:51)
    No11171 (れい さん) に返信
    > ■No11169 (TP3 さん) に返信
    >>もし、何かよい方法があればご教授お願いします。


    > それとも形状を補間しつつ間引きたいということですか?
    > なら普通はバイリニアを使うと思いますよ。
    >

    これやっちゃうと元のデータの信頼性が無くなってしまうから、
    横4分割して、4つのシートに書き込むとか、4ブロックに
    分けて1つのシートに縦に書き込むとかしたらいいんじゃない?

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

■14461  Re[15]: パネル内の座標値、そして座標値の範囲を設定す
□投稿者/ Tetsu -(2008/02/19(Tue) 10:57:51)
>
    2008/02/19(Tue) 10:59:08 編集(投稿者)
    2008/02/19(Tue) 10:58:24 編集(投稿者)

    <pre><pre>魔界の仮面弁士さん

    ご回答ありがとうございます。早速、

    > No14366 の私の投稿では、そうした同名変数はわかりにくいので、
    > >> private float xOneInit = 50.01f;
    > >> void panel2_Paint(object sender, PaintEventArgs e)
    > >> {
    > >>  float xOne = xOneInit;
    > のように、あえて、それぞれ異なる変数名にしています。

    のアドバイスをもとに、変数名を変えてみました。そうしたところ、「変数が使われていない」というメッセージはなくなりました。
    初歩的なミスです。すみません。
    まだC#、そしてオブジェクト指向プログラミングというものを始めて1ヶ月なのと、
    周りに誰も質問できる人がいない状況で、この掲示板でご迷惑をおかけしてしまっていると思います。

    >>英語のメッセージなのですが、
    > 英語版の Visual Studio をお使いですか?

    はい。現在アメリカに住んでおり、英語版のVisual Stuio 2005を使っています。


    > ループ中で、
    >  e.Graphics.DrawLines(pen, myPoints);
    > を行っていますが、この myPoints の座標を、ループ中では変更していないからです。
    > そのため、同じ座標に対して 3回重ね描きしていることになっています。

    これについてですが、以下のようにコードを書き直したところ、ちゃんと3本の折れ線が描かれました。
    こちらも単純なミスでした。
    点座標を配列に格納する部分をループの中に入れました。

    //折れ線に使用する3点をPointF[]に格納する
    PointF[] myPoints = new PointF[3];
    myPoints[0] = new PointF(xOne, yOne);
    myPoints[1] = new PointF(xTwo, yTwo);
    myPoints[2] = new PointF(xThree, yThree);

    あとは再描画の問題のみなのですが、画面をスクロールしてから再度ボタンを押すと、再描画されることがわかりました。
    スクロール時に自動的に再描画されるようにするには、スクロールバーの部分を設定する(HScrollBar/VScrollBar コントロール)
    必要があるということになるのでしょうか。
    ループの後にxOne〜yThreeの値をxOneInit〜yThreeInitに戻してみましたが、変化はありませんでした。



    【Form1のコード】
    public partial class Form1 : Form
    {
    DrawingMOD myDraw; //Form1で共通に使用するオブジェクト変数の宣言

    //描画に使用する3点の座標 (データベースからクエリされたものと仮定)
    private float xOneInit = 50.01f;
    private float yOneInit = 100.01f;
    private float xTwoInit = 100.01f;
    private float yTwoInit = 100.01f;
    private float xThreeInit = 120.01f;
    private float yThreeInit = 120.01f;

    public Form1()
    {
    InitializeComponent();
    this.myDraw = new DrawingMOD(this.panel2);
    myDraw.DrawPanel += new DrawOnPanel(myDraw_DrawPanel);
    }

    private void button1_Click(object sender, EventArgs e)
    {
    this.myDraw.DrawMovingObjects();
    }

    //myDraw_DrawPanelイベントハンドラ
    private void myDraw_DrawPanel(object sender, PaintEventArgs e)
    {

    //パネルのインスタンスを作成
    Panel panel2 = sender as Panel;
    //this.panel2.AutoScroll = true;
    this.panel2.AutoSize = true;

    //set the background color
    e.Graphics.Clear(Color.Black);

    //Initialize the coordinates
    float xOne = xOneInit;
    float yOne = yOneInit;
    float xTwo = xTwoInit;
    float yTwo = yTwoInit;
    float xThree = xThreeInit;
    float yThree = yThreeInit;

    //ペンの色を定義
    int cRed = 200;
    int cGreen = 100;
    int cBlue = 100;

    Pen pen = new Pen(Color.FromArgb(cRed, cGreen, cBlue), 4); //ペンを作成
    pen.EndCap = LineCap.ArrowAnchor; //折れ線を矢印にする

    for (int i = 0; i < 3; i++)
    {
    //折れ線に使用する3点をPointF[]に格納する
    PointF[] myPoints = new PointF[3];
    myPoints[0] = new PointF(xOne, yOne);
    myPoints[1] = new PointF(xTwo, yTwo);
    myPoints[2] = new PointF(xThree, yThree);

    e.Graphics.DrawLines(pen, myPoints); //折れ線を描く

    //change the location for another line
    xOne += 200f;
    yOne += 200f;
    xTwo += 200f;
    yTwo += 200f;
    xThree += 200f;
    yThree += 200f;

    //change the color of lines
    cRed += 20;
    cGreen += 40;
    cBlue += 20;

    }

    xOne = xOneInit;
    yOne = yOneInit;
    xTwo = xTwoInit;
    yTwo = yTwoInit;
    xThree = xThreeInit;
    yThree = yThreeInit;
    }

    }

    </pre></pre>
記事No.14280 のレス /過去ログ31より / 関連記事表示
削除チェック/

■77888  結果がでない
□投稿者/ cさん -(2015/11/27(Fri) 21:25:35)

    分類:[C/C++] 

    以下は、txtの中の単語をカウントするものです。しかし、実行されても何も出ません。

    条件は以下の通りです。

    1,出現回数は10回
    2,スペースで区切られた文字列を数える
    カンマ、ピリオドなどは含まない。
    文字の中のは含める。' や -
    3,大文字や小文字は同じものは同じ
    4,カウント対象のファイル名はコマンドライン引数で指定されない場合、実行用始後に入力するようにする。

    #include<stdio.h>
    #include<string.h>
    #define MAX 1000
    #define LEN 100
    #define NUM -1

    int main(int argc, char *argv[])
    {
    FILE *fp;
    char h[MAX][LEN]={'\0'};
    char buf[LEN];
    int count[MAX]={0};
    int max=0;
    int num,i,flg;

    if (argc != 2)
    {
    printf("コマンド名に続きファイル名を入れてください\n");
    return -1;
    }
    fp=fopen(argv[1],"r");

    while(buf=fgetc(fp))!=EOF)
    {
    i=0;
    }
    while(buf[i])
    {
    if(buf[i]>='A' && buf[i]<='Z')
    {
    buf[i] -= 'A' - 'a';
    }
    if(buf[i]==','||buf[i]=='.'||buf[i]=='!'||buf[i]=='?')
    {
    buf[i]='\0';
    }
    i++;
    }

    num = NUM;

    while(flg = 0)
    {
    for(i=0;i<max;i++)
    {
    if(strcmp(buf,h[i])==0)
    {
    num=i;
    flg = 1;
    }
    if(num==NUM)
    {
    strcpy(h[max],buf);
    count[max]++;
    max++;
    }
    else
    {
    count[num]++;
    }
    }
    }
    for(i=0;i<10;i++)
    {
    printf("%d:\t%-12s:\t%d\n",i+1,h[i],count[i]);
    }
    return 0;
    }




    こちらが、1つのFileの内容です。
    Down the Rabbit-Hole
    Alice was beginning to get very tired of sitting by her sister on the bank, and of having nothing to do: once or twice she had peeped into the book her sister was reading, but it had no pictures or conversations in it, 'and what is the use of a book,' thought Alice 'without pictures or conversation?'
    So she was considering in her own mind (as well as she could, for the hot day made her feel very sleepy and stupid), whether the pleasure of making a daisy-chain would be worth the trouble of getting up and picking the daisies, when suddenly a White Rabbit with pink eyes ran close by her.
親記事 /過去ログ132より / 関連記事表示
削除チェック/

■86271  Re[1]: データグリッドビューにカーソルをあてた状態で、右クリック
□投稿者/ VB.NET JONNY -(2018/01/12(Fri) 12:49:37)
    No86269 (VB.NET JONNY さん) に返信
    > 2018/01/12(Fri) 01:31:42 編集(投稿者)
    >
    > 使用言語はVB.NETを使用しています。
    > .NETのデータグリッドビューのテキストにカーソルをあてた状態で、右クリックを押すと自作したコンテキストメニューだけを表示させたい。
    >
    > 現在の状態は、右クリックを押すと右クリックメニューと自作したコンテキストメニューが表示されます。
    >
    > ご教示お願いたします。
記事No.86269 のレス /過去ログ148より / 関連記事表示
削除チェック/

■86288  Re[2]: データグリッドビューにカーソルをあてた状態で、右クリック
□投稿者/ みい -(2018/01/13(Sat) 17:19:33)
    No86271 (VB.NET JONNY さん) に返信
    > ■No86269 (VB.NET JONNY さん) に返信
    >>2018/01/12(Fri) 01:31:42 編集(投稿者)
    >>
    >>使用言語はVB.NETを使用しています。
    >>.NETのデータグリッドビューのテキストにカーソルをあてた状態で、右クリックを押すと自作したコンテキストメニューだけを表示させたい。
    >>
    >>現在の状態は、右クリックを押すと右クリックメニューと自作したコンテキストメニューが表示されます。
    >>
    >>ご教示お願いたします。

    WindowsFormでしょうか。
    であれば、データグリッドビューのEditingControlShowingイベントで
    テキストボックスを取得して自作したコンテキストメニューを割り当てます。

    例)
    Private Sub DataGridView1_EditingControlShowing(sender As Object, e As DataGridViewEditingControlShowingEventArgs) Handles DataGridView1.EditingControlShowing
    Dim tb As TextBox = CType(e.Control, TextBox)
    tb.ContextMenuStrip = ContextMenuStrip1

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



<< 0 >>

パスワード/

- Child Tree -