颜色c = Colors.Red;
如何将上面的颜色变量从一个私有空格传递到另一个私有空白? 提前致谢 斯蒂芬妮
private void btnRedClick(object sender, RoutedEventArgs e)
{
Color c = Colors.Red;
}
private void inkCanvas_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if (inkCanvas.EditingMode == InkCanvasEditingMode.None)
{
if(dtm == DrawingToolMode.ellipse)
{
Ellipse myEllipse = new Ellipse();
//Color c = Colors.Red;
System.Windows.Media.SolidColorBrush scb =
new SolidColorBrush(c);
myEllipse.Stroke = (scb);
myEllipse.Fill = (scb);
Point p = Mouse.GetPosition(this.inkCanvas);
InkCanvas.SetTop(myEllipse, p.Y);
InkCanvas.SetLeft(myEllipse, p.X);
myEllipse.Height = 20;
myEllipse.Width = 20;
inkCanvas.Children.Add(myEllipse);
}
}
}
答案 0 :(得分:5)
像这样声明你的颜色:
private Color c = Color.Blue; // Set default color
private void btnRedClick(object sender, RoutedEventArgs e)
{
c = Color.Red;
}
private void inkCanvas_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if (inkCanvas.EditingMode == InkCanvasEditingMode.None)
{
if(dtm == DrawingToolMode.ellipse)
{
Ellipse myEllipse = new Ellipse();
System.Windows.Media.SolidColorBrush scb =
new SolidColorBrush(c);
myEllipse.Stroke = (scb);
myEllipse.Fill = (scb);
Point p = Mouse.GetPosition(this.inkCanvas);
InkCanvas.SetTop(myEllipse, p.Y);
InkCanvas.SetLeft(myEllipse, p.X);
myEllipse.Height = 20;
myEllipse.Width = 20;
inkCanvas.Children.Add(myEllipse);
}
}
}
答案 1 :(得分:2)
将其存储在私人领域:
private Color _color;
private void btnRedClick(object sender, RoutedEventArgs e)
{
_color = Colors.Red;
}
private void inkCanvas_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
Color myLocalColor = _color;
}
我建议你阅读编程101。这是一个非常基本的问题。