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

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

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

全過去ログを検索

<< 0 >>
■9833  別フォームへアクセスして値を取得する為のインスタンスの使い方
□投稿者/ くまこ -(2007/11/05(Mon) 20:14:39)

    分類:[C#] 

    くまこです。
    みなさま、いつもお世話になっております。
    ありがとうございます。

    早速ですが、どうも、インスタンスの使い方が把握できておらず、
    求めている結果が得られているものの、
    この使い方で正しいのかどうか分かりかねております。
    どなたかご教示お願い致します。


    準備
     ・Form1には、textBox1×1、button1×1を配置
     ・Form2には、textBox1×1を配置

    やりたい事
     ・Form1からForm2を呼び出し、
      Form2を閉じる際にForm2のtextBox1に入っている内容を
      Form1のtextBox1に表示させるコードを下記のように書きました。

    質問
     ・これで確かに求めている結果が得られているのですが、
      この使い方で合っているのでしょうか。
     ・Form1のtextBox1に表示させたら、
      インスタンスは不要になるように思うのですが、
      解放するにはどの様にしたら良いのでしょうか。

    以下、コード
    //-------------------------------------------------------------
    // form1.cs
    // using 節は省略
    namespace WindowsApplication1
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }
    private void button1_Click(object sender, EventArgs e)
    {
    // Form2 の新しいインスタンスを生成する
    Form2 hForm2 = new Form2();
    //Form2Instanceに代入
    Form2.Form2Instance = hForm2;
    // Form2 をモーダルで表示する
    hForm2.ShowDialog();
    //インスタンスから取得
    textBox1.Text = Form2.Form2Instance.textBoxText;
    }
    }
    }
    //-------------------------------------------------------------
    // form2.cs
    // using 節は省略
    namespace WindowsApplication1
    {
    public partial class Form2 : Form
    {
    //Form2オブジェクトを保持するためのフィールド
    private static Form2 _form2Instance;
    //Form2オブジェクトを取得、設定するためのプロパティ
    public static Form2 Form2Instance
    {
    get { return _form2Instance; }
    set { _form2Instance = value; }
    }
    public string textBoxText
    {
    get {return textBox1.Text; }
    set {textBox1.Text = value; }
    }
    public Form2()
    {
    InitializeComponent();
    }
    }
    }
    //-------------------------------------------------------------
親記事 /過去ログ22より / 関連記事表示
削除チェック/

■26127  Re[6]: ArrayListでの文字列検索
□投稿者/ たくボン -(2008/10/02(Thu) 12:41:18)
    No26110 (ま さん) に返信
    > ■No26109 (ま さん) に返信
    > こっちは、delegate と Generic 使ったもの、2003 の C# では動くのかな?微妙?
    
    解決してるので蛇足だけど、2003だと型指定されたCollectionを実装する場合はCollectionクラスを継承するのが簡単じゃないかな。
    
    
    using System;
    using System.Collections;
    
    public class HogeCollection : CollectionBase
    {
    	public HogeCollection()
    	{
    	}
    
    	public Hoge this[int index]  
    	{
    		get
    		{
    			return (Hoge)List[index];
    		}
    		set  
    		{
    			List[index] = value;
    		}
    	}
    
    	public int Add(Hoge hoge)
    	{		
    		return List.Add(hoge);
    	}
    
    	public void AddRange(Hoge[] hoges)
    	{
    		foreach (Hoge hoge in hoges)	Add(hoge);
    	}
    
    	public int IndexOf(Hoge hoge)  
    	{
    		return List.IndexOf(hoge);
    	}
    
    	public void Insert(int index, Hoge hoge)  
    	{
    		List.Insert(index, hoge);
    	}
    
    	public void Remove(Hoge hoge)
    	{
    		List.Remove(hoge);
    	}
    
    	public bool Contains(Hoge hoge)  
    	{
    		return List.Contains(hoge);
    	}
    
    	protected override void OnInsertComplete(int index, object hoge)
    	{
    		base.OnInsertComplete(index, hoge);
    	}
    
    	protected override void OnRemoveComplete(int index, object hoge)
    	{
    		base.OnRemoveComplete(index, hoge);
    	}
    }
    
記事No.26035 のレス / END /過去ログ48より / 関連記事表示
削除チェック/

■29276  Re[2]: 親クラスをどうやってプロパティで参照するか
□投稿者/ たくボン -(2008/12/06(Sat) 21:30:20)
    2008/12/06(Sat) 21:30:51 編集(投稿者)
    No29252 (よねKEN さん) に返信
    > 2008/12/06(Sat) 11:40:45 編集(投稿者)
    > > また、もっとスマートな方法はないのでしょうか

    俺もよねKENさんと同じかな。
    個々のTreeNodeクラスに親ノードを持たせるのは冗長ですからね。

    ソース載せようかと思ったけどよねKENさんが提示してくれたし、これがほぼ正解に近いと思います。
    Grnericは使いやすいから便利なんだけど、決められた動作しか提供してくれないのでどうしても細かい制御が必要なら継承ですね。
    俺はGeneric出る前に作ったツールを使って生成してるから、■No26127みたいな感じで使ってるんだけど、インターフェース+Genericどっちが便利だろ?
    せっかくGenericも使えることだし書き直してみるかな。

    # 個人的には再帰の処理をよく使うので、FirstNode, PrevNode, NextNode, LastNodeの相対関係なんかもAddの時にしてます。

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

■49188  Re[8]: ドラッグ&ドロップでwebページのタイトルを
□投稿者/ とっちゃん -(2010/04/26(Mon) 14:54:39)
>
    No49187 (渋木宏明(ひどり) さん) に返信
    >>ざっと見た感じ、唯一ドキュメントされてないのは、UniformResourceLocator オブジェクトくらいですね。
    >
    > コレがたぶん、ショートカットオブジェクトのシリアライズデータな予感。

    おそらくこいつが本体だと思います。<IE的にはw

    ま、FileContentsも、FileGroupDescriptorも、情報としては、明文化されてるので、利用そのものは問題なく使えますけどね。
    意味が分かってさえいれば。。。w
記事No.49148 のレス /過去ログ83より / 関連記事表示
削除チェック/

■52759  Re[2]: "プログラムから開く"のプログラム名の設定方法
□投稿者/ nac12 -(2010/08/24(Tue) 10:18:49)
    よねKEN さん、早速返信いただきありがとうございます。
    私も、この記事は読んだのですが、c#の環境なので
    AssemblyInfo.vbは存在しません。その代わりが
    Properties->app.manifestだと思うのですが、
    <Assembly: AssemblyTitle("")>に対応していそうな
    記述を探すことができませんでした。
    私の探し方が悪いのかもしれません。

    引き続き、情報のよろしくお願いします。
記事No.52755 のレス /過去ログ88より / 関連記事表示
削除チェック/

■54663  Re[1]: 先頭の複数の0に一致する条件式
□投稿者/ 魔界の仮面弁士 -(2010/10/28(Thu) 19:21:16)
    2010/10/28(Thu) 19:23:29 編集(投稿者)

    No54656 (きゃむ さん) に返信
    > 「あるひとつの数字(この場合は5)の先頭に、0が何個か(無しの場合も含む)付いている」というものです。

    スマートな方法では無いですが、数字しか無いと分かっている場合は
      CONVERT([column名], 'System.Int32') = 5
    と書けますね。
記事No.54656 のレス /過去ログ91より / 関連記事表示
削除チェック/

■81166  Re[5]: 開いている全ウインドウのパスを取得する方法
□投稿者/ とっちゃん -(2016/08/31(Wed) 12:05:16)
    No81100 (ぽぽろーぐ さん) に返信
    > ありがとうございます。
    > リスタートマネージャを使いたいと考えているのですが
    > 検索して調べてもなぜかVB用のコードが見つかりませんでした。
    > 方法を教えていただけないでしょうか?
    >  
    C#のコードはわからないので。。。ということでしょうか?
    それとも、RestartManagerの使い方そのものがわからないので。。。ということでしょうか?

    前者なら、別スレッドですが「B.Netで (aaa == 1) ? 1 : 0 の記述」でPANG2さんが紹介している

    C#/VB.NET コード変換サイト
    Snippet Converter
    http://codeconverter.sharpdevelop.net/SnippetConverter.aspx

    が利用できると思います。

    後者であれば、まずはリファレンスを読むところからですかね。

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

■88113  ファイルを読み込み、グラフを書く。
□投稿者/ chikage -(2018/08/03(Fri) 10:54:33)

    分類:[C#] 

    上司の命令で、C#を1から勉強しているものです。
    Visual StudioのC# コンソールアプリケーションで、ファイル(メモ帳)読み込みまで成功しました。

    次の課題が「Visual Studio のC# で、ファイルを読み込み グラフを書き込む」です。

    しかしながら、本やインターネットで検索しても、ファイルを読み込んでのグラフがヒットしません。
    一般的な事ではないのでしょうか?
    windowsフォームアプリケーション内でグラフを作成する(Chartコントロール)が一般的なのでしょうか。

    大変恐縮ですが、何かアドバイスを頂けたら幸いです。


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

■97777  Re[5]: TPL で メインスレッドの優先順位をあげる方法
□投稿者/ Azulean -(2021/07/13(Tue) 07:02:54)
    2021/07/13(Tue) 07:28:50 編集(投稿者)

    No97774 (メタルスライム さん) に返信
    > Azulean 様
    >
    > サンプルコードはRefreshをしなかったとしても
    > ある程度負荷のかかるコードをメインスレッドで実施しなければならない場合の意味をこめて
    > System.Threading.Thread.Sleep(100)
    > を入れています
    「ある程度負荷のかかるコードをメインスレッドで実施しなければならない」なら、メインスレッドはボタンなどの応答の余裕はないことになりますので、「不可能」です。

    「ある程度負荷のかかるコードをメインスレッドで実施しなければならない場合」は絶対に回避してください。


    > 下記のコードを非同期にして、キャンセルボタン等を受付することは無理なのでしょうか?
    無理です。
    理由としては「非同期」になっていないからです。

    メインスレッドを「描画+100ms 停止(何も受け付けない)」を繰り返すものを、Parallel で大量に送りつけているので、ボタン応答する余裕がメインスレッドにありません。

    メインスレッドは 1 つしかありませんので、メインスレッドにさせたい仕事(処理)は必ず「同時に 1 つしか実行できない」となります。
    これは、Parallel で組んでいるあなたのコードから見るとある意味「同期」に見えるかもしれませんね。

    ボタンクリックなどの UI 反応も「メインスレッド」ですので、「メインスレッド」を「処理で使い切っている」なら、ボタンの応答はできません。


    「優先度」の問題ではありません。

    > Me.BeginInvoke(Sub()
    > Me.Text = ”実行中_” & n
    > Me.Refresh()
    > System.Threading.Thread.Sleep(100)
    > End Sub)

    Thread.Sleep はサンプルだとしても、メインスレッドでは最小限の処理しかさせず、非常に低負荷であることを保つ必要があります。
    それができないなら、ボタンの応答はできないどころか、Windows によって白くさせられる(応答がありません)恐れがあります。
記事No.97765 のレス /過去ログ169より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -