<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/canjymax/">
    <title>かんじのC#めも@Wiki</title>
    <link>http://w.atwiki.jp/canjymax/</link>
    <atom:link href="https://w.atwiki.jp/canjymax/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>かんじのC#めも@Wiki</description>

    <dc:language>ja</dc:language>
    <dc:date>2006-04-11T09:42:59+09:00</dc:date>
    <utime>1144716179</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/canjymax/pages/24.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/canjymax/pages/23.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/canjymax/pages/22.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/canjymax/pages/21.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/canjymax/pages/20.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/canjymax/pages/19.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/canjymax/pages/18.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/canjymax/pages/17.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/canjymax/pages/16.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/canjymax/pages/15.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/canjymax/pages/24.html">
    <title>ロックで同時アクセス回避</title>
    <link>https://w.atwiki.jp/canjymax/pages/24.html</link>
    <description>
      複数スレッドで、変数等に同時アクセスすると困る場合、
ロックオブジェクトを生成して、回避する方法がある。
まず、ロック用のオブジェクトを生成
 private Object LockObj = new Object();
同時アクセスを回避したいところで、
 private void Hogehoge()
 {
     Lock(LockObj)
     {
        // 同時アクセスしたくない処理
     }
 }
Lockのカッコ内は1つのスレッドしか入って来れず、
同時にアクセスしたとしても、先着順で待たされる。
先に入ったスレッドが、カッコから抜けたら、
次のスレッドが処理を行う。
ちなみにこの方法は結構重いので、使いどころはよく考慮する。    </description>
    <dc:date>2006-04-11T09:42:59+09:00</dc:date>
    <utime>1144716179</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/canjymax/pages/23.html">
    <title>dataGridViewにxmlの内容を表示</title>
    <link>https://w.atwiki.jp/canjymax/pages/23.html</link>
    <description>
      [[dataGridViewの内容をxmlに保存]]で保存したxmlファイルの内容をdataGridViewに表示します。

下準備として、フォーム上にdataGridView1とdataSet1とbutton1を貼り付けます。

dataSet1とdataGridView1のプロパティは
-[[dataGridViewの内容をxmlに保存]]
で設定した内容と同じにします。

button1のクリックイベントを
 private void button1_Click(object sender, EventArgs e)
 {
     dataSet1.ReadXml(&quot;test.xml&quot;);
 }
とすれば、ボタンクリックでXMLの内容がdataGridViewに反映されます。

また、列情報もXMLに保存されている場合、
 private void button1_Click(object sender, EventArgs e)
 {
     dataSet1.Clear();
     dataSet1.ReadXml(&quot;test.xml&quot;);
     dataGridView1.DataSource = dataSet1;
     dataGridView1.DataMember = dataSet1.Tables[0].TableName;
 }
とすれば、dataSetとdataGridViewのプロパティを変更しなくても、デザイナーに貼り付けるだけでOK！    </description>
    <dc:date>2006-04-07T10:08:02+09:00</dc:date>
    <utime>1144372082</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/canjymax/pages/22.html">
    <title>dataGridViewの内容をxmlに保存</title>
    <link>https://w.atwiki.jp/canjymax/pages/22.html</link>
    <description>
      dataGridViewで編集した内容をxmlに保存するには、
dataSetのWriteXmlメソッドを使います。

まず下準備として、dataGridViewとdataSetの関連付けをします。
フォーム上にdataGridView1とdataSet1とbutton1を貼り付けて

dataSet1のTablesに、適当な名前のテーブルを追加し、
Culumnsに列コレクションを作成します。


dataGridView1のプロパティを
　DataSource dataset1
　DataMember Table1　←上で追加したテーブル名

button1のクリックイベントに
 private void button1_Click(object sender, EventArgs e)
 {
     dataSet1.WriteXml(&quot;test.xml&quot;);
 }

と記述すれば、dataGridViewで編集した内容がXMLファイルに保存されます。

dataSetの列情報なども一緒に保存する場合は
 private void button1_Click(object sender, EventArgs e)
 {
     dataSet1.WriteXml(&quot;test.xml&quot;, XmlWriteMode.WriteSchema);
 }
とすれば、保存されます。    </description>
    <dc:date>2006-04-07T09:53:26+09:00</dc:date>
    <utime>1144371206</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/canjymax/pages/21.html">
    <title>blog的なもの/2006年04月06日</title>
    <link>https://w.atwiki.jp/canjymax/pages/21.html</link>
    <description>
      -[[blog的なもの/2006年04月06日/テスト日記]]
#blognavi    </description>
    <dc:date>2006-04-06T15:54:10+09:00</dc:date>
    <utime>1144306450</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/canjymax/pages/20.html">
    <title>blog的なもの/カテゴリ/その他</title>
    <link>https://w.atwiki.jp/canjymax/pages/20.html</link>
    <description>
      -(2006年04月06日)&amp;nbsp;&amp;nbsp;[[テスト日記&gt;blog的なもの/2006年04月06日/テスト日記]]    </description>
    <dc:date>2006-04-06T15:54:10+09:00</dc:date>
    <utime>1144306450</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/canjymax/pages/19.html">
    <title>blog的なもの/2006年04月06日/テスト日記</title>
    <link>https://w.atwiki.jp/canjymax/pages/19.html</link>
    <description>
      #blognavi

blog機能のテスト

#right{
カテゴリ: &amp;#x5b;[[その他&gt;blog的なもの/カテゴリ/その他]]&amp;#x5d; - &amp;trackback() - 2006年04月06日 15:42:41
}
#comment(nostyle,nsize8,size30)
#blognavi    </description>
    <dc:date>2006-04-06T15:54:10+09:00</dc:date>
    <utime>1144306450</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/canjymax/pages/18.html">
    <title>blog的なもの</title>
    <link>https://w.atwiki.jp/canjymax/pages/18.html</link>
    <description>
      #weblog()    </description>
    <dc:date>2006-04-06T15:42:23+09:00</dc:date>
    <utime>1144305743</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/canjymax/pages/17.html">
    <title>スレッドの生成</title>
    <link>https://w.atwiki.jp/canjymax/pages/17.html</link>
    <description>
      とりあえずおまじないをして
 using System.Threading
スレッドとして実行したいメソッドを書く。
 public void TestThread()
 {
   // なにかの処理
 }

スレッドの実行を開始したいところで、
 Thread th = new Thread(TestThread);
 th.Start();
でOK。

停止は
 th.Abort();    </description>
    <dc:date>2006-04-06T15:38:35+09:00</dc:date>
    <utime>1144305515</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/canjymax/pages/16.html">
    <title>別フォームの操作</title>
    <link>https://w.atwiki.jp/canjymax/pages/16.html</link>
    <description>
      別のフォームを表示するには、フォームクラスを生成して、showメソッドを呼ぶ。
 Form2 fm = new Form2();
 fm.Show();

生成だけして表示してないフォームのコントロールを操作する場合、ちょっとしたコツが必要。

 public partial class Form2 : Form
 {
     public Form2()
     {
         InitializeComponent();
         CreateGraphics();
     }

と、表示したいフォームのコンストラクタに
 CreateGraphics();
を追加すると、Show()メソッドが呼ばれる前にフォーム上のコントロールをすべて生成してくれるので、別フォームから操作したい場合も変な例外が発生しない。。。。かも！（自信ない）    </description>
    <dc:date>2006-04-06T15:02:02+09:00</dc:date>
    <utime>1144303322</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/canjymax/pages/15.html">
    <title>フォームコントロール関連</title>
    <link>https://w.atwiki.jp/canjymax/pages/15.html</link>
    <description>
      -[[別フォームの操作]]
-[[dataGridViewの内容をxmlに保存]]
-[[dataGridViewにxmlの内容を表示]]











----    </description>
    <dc:date>2006-04-07T09:55:08+09:00</dc:date>
    <utime>1144371308</utime>
  </item>
  </rdf:RDF>
