タイトル : Re^6: もう一度整理して冷静に考えてみました。 投稿日 : 2009/05/25(Mon) 01:43 投稿者 : 光
> OS の設定(コントロールパネルの地域設定)が、西暦モードに設定されている場合、 > 先のコードにある yyyy は 2009 を返します。一方、和暦モードに設定されていた場合は、 > (2009 ではなく) 21 が返されます。その点は把握しておられますでしょうか。 すみません。私の勘違いです。把握していませんでした。 実際、和暦に変更して実行してみたところ、確かに、2009→21になってましたね。 なので、↓ > あれ?? No.8987 にて「それはすでに解決済みです」とあったので、もっと前に > その情報を得ていたのかと思っていましたが…別の方法で解決されていたのですね。 は解決していません。私の勘違いでした。 解決するにはもしかして、if文を使って、和暦なら変換。西暦ならそのまま続行という形ですか? If 和暦取得 和暦→西暦変換 Else 西暦コードをそのまま続行 End If > > 私が言いたかったのは、複数ノードからひとつのノード(下層ノードも含む)を選択して移動するようにしたい。これをひとつずつ繰り返したい。 > No.8987 に提示いただいた図の意味を、 > ・複数ノード(Node0〜Node4、Node7〜Node11)からなる階層がある。 > ・そこから、ひとつのノード Node7★1を選択して、 > それを Node7 ☆1の位置に移動させ、さらにそこに 2 つのノードを追加する。 > ・さらに、別のノード Node11★2(およびその子孫ノード)を選択して、 > それを Node11 ☆2の位置に移動させ、さらにそこに 2 つのノードを追加する。 > という意味に捉えたのですが、そういう意味では無かったのでしょうか。 はい、その通りです。最初は指定して移動と言いましたが、ノードを新規登録する時、複数になっていくので、そこからノードを1つずつ移動する事になるとは頭に入れていませんでした。 > なお「選択」という言葉から、SelectedNode を使うのかな、とも思ったのですが、以前、 > >>> ZZZ = TreeView1.SelectedNode ← どんなノードを選択するコードですが、その辺が分からないのです。 > とあったので、SelectedNode を使わずに指定する方法を記述しました。 結局、元に戻りました。 > > If Not TreeView1.Nodes.IsReadOnly Then > > If (TreeView1.SelectedNode IsNot Nothing) Then > > Dim t As TreeNode = TreeView1.SelectedNode > > TreeView1.Nodes.Remove(t) > > TreeView1.Nodes(0).Nodes(1).Nodes.Insert(TreeView1.Nodes.Count, t) > > End If > > End If > > これはいいなとは思いましたが、 > そのコードは、ヘルプなどに挙げられているサンプルに手を加えたもののようですね。 はい、そうです。 > まだ完成はしていないものの、作成の見通しは立ってきたといったところでしょうか。 > 頑張ってください。何か不明な点があればお手伝いしますよ。 今のところ、悪戦苦闘ですが、頑張ります。いろいろありがとうございました。 (和暦→西暦変換については調べておきます。) |