【发布时间】:2011-12-27 14:05:11
【问题描述】:
我有一个这样的父表单 first.cs
public partial class first : Form
{
public Graph graphi { get; }
Graph g = new Graph();
string s1 = null;
private void button1_Click(object sender, EventArgs e)
{
Stream myStream = null;
var parser = new Notation3Parser();
var graph = new Graph();
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.Filter = "RDF files (*.n3)|*.n3";
openFileDialog1.FilterIndex = 1;
openFileDialog1.RestoreDirectory = true;
openFileDialog1.Multiselect = false;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
try
{
if ((myStream = openFileDialog1.OpenFile()) != null)
{
using (myStream)
{
string s = openFileDialog1.FileName.ToString();
string w = Directory.GetCurrentDirectory().ToString();
string Fname = openFileDialog1.SafeFileName.ToString();
File.Copy(s, Path.Combine(w, Fname), true);
// Insert code to read the stream here.
Win32.AllocConsole();
s1 = Path.Combine(w, Fname);
showPath.Text = s1;
String parentvalueadress = this.s1;
showPath.Visible = true;
insertNodeButton.Visible = true;
delBut.Visible = true;
showNodes showNodes1 = new showNodes(s1);
g = showNodes1.returngraph();
Console.Read();
Win32.FreeConsole();
this.Show();
}
}
}
catch (Exception ex)
{
MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message);
}
}
}
private void insertNodeButton_Click(object sender, EventArgs e)
{
addTriple a1 = new addTriple();
a1.BringToFront();
a1.ShowDialog();
g.SaveToFile(this.s1);
}
private void button3_Click(object sender, EventArgs e)
{
delete a1 = new delete();
a1.BringToFront();
a1.ShowDialog();
}
}
在 insertNodeButton_Click 方法中,我想将图形 g 的值传递给它的子表单,代码如下:
public partial class addTriple : Form
{
Graph gr;
String childvalueadress;
private void addTriple_Load(object sender, EventArgs e)
{
var parser = new Notation3Parser();
var graph = new Graph();
gr = graph;
parser.Load(graph, childvalueadress);
}
private void subComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
if (subComboBox.SelectedItem.ToString() == "URI")
{
subUriTB.Visible = true;
label1.Visible = true;
}
else
{
subUriTB.Visible = false;
label1.Visible = false;
}
}
private void objComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
if ((objComboBox.SelectedItem.ToString() == "URI") || (objComboBox.SelectedItem.ToString() == "Literal"))
{
objUriTB.Visible = true;
label1.Visible = true;
}
else
{
objUriTB.Visible = false;
label1.Visible = false;
}
}
private void addTripleButton_Click(object sender, EventArgs e)
{
if (subComboBox.Text.ToString() == "select" || objComboBox.Text.ToString() == "select")
MessageBox.Show("please select node types");
else if ((subComboBox.SelectedItem.ToString() == "URI") && (subUriTB.Text.ToString() == ""))
MessageBox.Show("please fill text box for URI");
else if ((preUriTB.Text.ToString() == ""))
MessageBox.Show("please fill text box for URI");
else if ((objUriTB.Text.ToString() == "") && ((objComboBox.SelectedItem.ToString() == "URI") || (objComboBox.SelectedItem.ToString() == "Literal")))
MessageBox.Show("please fill text box for object name");
else if ((objComboBox.SelectedItem.ToString() == "URI") && (objUriTB.Text.ToString() == ""))
MessageBox.Show("please fill text box for URI");
try
{
if ((subComboBox.Text.ToString() == "URI") && (objComboBox.Text.ToString() == "URI"))
addUUU(subUriTB.Text.ToString(), preUriTB.Text.ToString(), objUriTB.Text.ToString(), gr);
else if ((subComboBox.Text.ToString() == "URI") && (objComboBox.Text.ToString() == "Literal"))
addUUL(subUriTB.Text.ToString(), preUriTB.Text.ToString(), objUriTB.Text.ToString(), gr);
else if ((subComboBox.Text.ToString() == "Blank") && (objComboBox.Text.ToString() == "Literal"))
addBUL(preUriTB.Text.ToString(), objUriTB.Text.ToString(), gr);
else if ((subComboBox.Text.ToString() == "URI") && (objComboBox.Text.ToString() == "Blank"))
addUUB(subUriTB.Text.ToString(), preUriTB.Text.ToString(), gr);
}
catch
{
MessageBox.Show("please correct the uri");
}
gr.SaveToFile("c:\\n.n3");
}
}
并在此子表单中使用此值,然后将其传递给父表单 first.cs
我该怎么做?
【问题讨论】:
-
为什么你认为这种(肮脏的)格式在公共场所的任何地方都是可以接受的?!
-
在 SO 上至少有 ∞ 个关于此主题的问题。提问前请先搜索。
-
如果您有任何更改或要添加的任何内容,请更新此问题,请勿提出新问题。谢谢。
-
阅读此stackoverflow.com/faq#howtoask 然后提问