我正在努力实现 $ 主题。当我向左侧滑动(移动为右 -> 左)时,动画会正确发生,并且小部件从右侧开始并保持不变。但是,当我向右滑动时,小部件转换正在发生,但小部件开始从右侧而不是左侧出现。
我正在尝试像日历中通常那样实现滑动移动。
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
home: MainPage(),
);
}
}
class MainPage extends StatefulWidget {
@override
_MainPageState createState() => _MainPageState();
}
class _MainPageState extends State<MainPage> {
Widget child;
@override
void initState() {
super.initState();
child = Container(
child: Center(
child: Text(
'Main',
style: TextStyle(fontSize: 18.0),
),
),
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: …Run Code Online (Sandbox Code Playgroud) 我有一个windows.form.userControl类,在运行时我想动态添加一些链接标签.当我在Load方法中应用此代码片段时,它完美地工作.
for (int i = 0; i < 10; i++)
{
linkLabel = new System.Windows.Forms.LinkLabel();
linkLabel.Name = i.ToString();
linkLabel.Text = i.ToString();
linkLabel.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(linkLabel_LinkClicked);
this.Controls.Add(linkLabel);
linkLabel.Top = top;
top += 30;
}
Run Code Online (Sandbox Code Playgroud)
但是,当我将此代码段移到backgroudworker doWork方法中时,它将在此行中提供与交叉线程问题相关的无效操作异常: - this.Controls.Add(linkLabel);
如何将其作为线程安全操作?我是C#的新手,我正在使用VS 2010使用C#4.0.提前感谢.
c# backgroundworker thread-safety visual-studio-2010 winforms